home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-19 | 120.7 KB | 3,298 lines | [TEXT/MSET] |
-
- ! n addr -- Memory/Nuc2.asm
- Stores 32-bit n at address.
-
- !FNAME addr len fcb -- Files/base
- Sets filename for fcb.
-
- !FPTR ^filename fcb -- Files/Nuc2.asm
- Primitive.
-
- " Strings/Nuc2.asm
- Standard delimiter.
-
- "STR" -- addr len Lowstrings/Nuc2.asm
- Scans for a string delimited by "..."
-
- # ud1 -- ud2 NumericConversion/Nuc2.asm
- standard
-
- #> n -- addr len NumericConversion/Nuc2.asm
- Ends numeric conversion. standard
-
- #docsToOpen -- n Events/Nuc2.asm
- A value.
-
- #LEAD -- n Console/Nuc2.asm
- Computes an appropriate leading for the current window.
-
- #LINES -- n Console/Nuc2.asm
- Computes the number of lines for the current window.
- (ContTop-ContBot)/#lead.
-
- #S |n| -- 0 NumericConversion/Nuc2.asm
- standard
-
- #THREADS -- 8 Compiler /Nuc2.asm
- A constant.
-
- $ -- n Compiler/Base
- Will compile the ensuing characters in the input stream as a hex number.
-
- $= addr1 len1 addr2 len2 -- result Strings/String
- Compares string1 to string2, both given as the first byte of text
- (addr) and the number of bytes to compare (len). Essentially used to do
- alphabetical sorts with a being less than b and so forth, but note that
- a (ascii 97) still is "less than" B (ascii 66). Although A will be less
- than a. Result = -1 if string1 is less than string2, = 0 if strings are
- equal, = 1 if string 1 is greater than string2. A Toolbox call to
- IUMagString. See IM for complete detail. Also, see CMPSTR, it is faster.
-
- $CHK -- Strings/Nuc2.asm
- Checks the current string object for legality. Checks that POS and LIM
- are within the string, and that POS is not past LIM. A2 points to the
- string object.
-
- $ER -- Strings/String
- The error action placed in vect $err. Used by class string to display
- size, pos, and lim before aborting on error.
-
- $ERR -- System/Nuc.asm
- A system vector. Contains $er, which is defined in file String.
-
- $FAIL -- Strings/Nuc2.asm
- Error checking primitive.
-
- & -- n : char Strings/Base
- Leave ascii value of next char in stream. State smart. Note that the
- ANSII standard uses CHAR and [CHAR], which are state dumb.
-
- ' -- xt : word Compiler/Nuc2.asm
- In Neon, ' (tick) was state-smart, following Fig-Forth. We have now
- followed the Forth-83 and ANSI standards in replacing the state-smart
- tick with the two state-dumb forms ' (which ticks the next word in the
- input stream at run time, no matter what) and ['] which is immediate,
- must be used in a definition, and compiles a literal fetch of the xt of
- the following word.
-
- 'TYPE -- 4bytestring : XXXX Resources/Base
- Given 4 ascii characters in the input stream, a 4bytestring will be
- left on the stack. This data type is also known as a PACKED ARRAY[1..4]
- OF CHAR; in Pascal.
-
- ( -- Compiler/Nuc2.asm
- Left paren. Denotes the beginning of a comment. At least one space must
- follow. End comment with a right paren ).
-
- (.RSTR) -- : lit Errors/base
- Displays given string number (a literal) from the mops.rsrc file,
- preceded by "Msg# ..."
-
- (.S) end-addr strt-addr -- Stack/Nuc2.asm
-
-
- (.TSTR) id -- Resources/Base
- Displays the string from the mops.rsrc file with the given resource ID.
-
- (:) -- : name Compiler/Nuc2.asm
- Does the work for : once the header has been laid down. It is also
- called from other words that begin definitions such as :proc.
-
- (;) -- Compiler/Nuc2.asm
-
- (AEErr) err# -- Events/Event
- Default for error returns from AppleEvent handlers, i.e. this is the
- action for AEErrorVec.
-
- (ASY) fcb -- Files/Files
- Sets up for a low-level asynchronous read or write.
-
- (BE) xt -- Compiler/base
- A primitive for implementing become.
-
- (BS) -- Console/Nuc2.asm
- Moves the cursor back by 6 pixels, performing expected behavior for a
- backspace in the console.
-
- (COL) -- : name OOP/Struct
- A standard class. Collections are ordered lists with a current size. We
- implement them by multiply inheriting the generic (COL) class with the
- array class of the appropriate width. We use a few tricks to avoid late
- binding to self in loops.
-
- (COMP) xt -- Compiler/Nuc2.asm
- Compiles the word with the given xt, by calling its compilation
- handler. All compilation should be done via this word or (COMPN), since
- they properly allow for words with optimization etc. This word assumes
- a zero opcode is to be passed to Handlers. If not, use (COMPN).
-
- (COMPN) xt n -- Compiler/Nuc2.asm
- Is similar to (COMP), but has an additional parameter n which is the
- opcode for -> ++> etc.
-
- (CR) -- Console/Nuc2.asm
- Primitive called by system vectors when cr is executed.
-
- (DDIE) n -- Errors/base
- Our normal error action is to call DIE with an error number. DIE calls
- SvErr to save the error info, then THROWs the error number. If no error
- handler has been installed, or only handlers which don't want that number
- and re-THROW it, the default action for THROW occurs. This calls DFLT-DIE.
- (DDIE) is the action for the system vector DFLT-DIE.
-
- (EMIT) c -- Console/Nuc2.asm
- Prints a character on the screen only.
-
- (Err#) -- n errors/Nuc2.asm
- A value.
-
- (FDOS$) trap# -- Toolbox/Base
- Primitive for fdos$
-
- (FIND) string-addr lfa -- xt flag | -- string-addr false Compiler/Nuc2.asm
- lfa points to the dictionary entry where the search is to start.
-
- (FINDM) hash class link-offs -- offs xt T | F Compiler/Nuc2.asm
- Link-offs is the offset from the xt of the class, of the first link in
- the search chain. The returned result offs is only used for ivars, and
- relates to multiple inheritance. It is the offset of the first of the
- ivars of the class in which the found ivar is declared, within the
- actual class being searched.
-
- (FORGET) lfa -- Compiler/Nuc2.asm
- Forgets down to the given lfa.
-
- (HEADER) -- Compiler/Nuc2.asm
- Default for HEADER. Creates a dictionary header using the next word in
- the input stream.
-
- (KEY!) -- Events/Event
- Sets the default action for vect key by storing the xt of (key) in it.
-
- (KEY) -- c Events/Event
- The default action for key. c is the character corresponding to the key
- that was pressed. : (key) key: fevent drop $ FF and ;
-
- (LIT-STR) -- addr len Lowstrings/Nuc2.asm
- (LIT-STR) is called from any word that needs to be followed by a
- literal character string which has a length byte at the start.
- (LIT-STR) expects the top cell of the return stack to point to the
- length byte, and this cell is incremented to point to the next
- instruction following the string.
-
- (LSEEK) fcb mode offset -- ioResult Files/Nuc2.asm
- Calls the File Manager routine SetFPos to position the file pointer of
- the file specified by fcb as specified by mode and offset. If
- successful, ioResult is zero; otherwise, it is non-zero. (lseek) is the
- primitive used
-
- (MAKE) fcb -- ioResult Files/Nuc2.asm
- Calls the File Manager routine Create to create the file specified by
- fcb. If successful, ioResult is zero; otherwise, it is non-zero. (make)
- is the primitive used by the New: method of class File.
-
- (NUMBER) addr -- n addr' Console/Nuc2.asm
- Primitive used by number.
-
- (OPEN) fcb mode -- ioResult Files/Nuc2.asm
- Calls the File Manager routine to open the file specified by fcb using
- the access mode mode. If successful, ioResult is zero; otherwise, it is
- the result code.
-
- (PAUSE) -- Events/Frontend
- Our standard action for the vect pause.
-
- (READ) fcb count bufaddr -- ioResult Files/Nuc2.asm
- Calls the File Manager routine Read to read count bytes into bufaddr
- from the file specified by fcb. If successful, ioResult is zero;
- otherwise, it is non-zero. (read) is the primitive used by the Read:
- method of class
-
- (S=) addr1 addr2 len -- b Lowstrings/Nuc2.asm
-
- (SF) -- System/Objinit
- The action for setFwind vect.
-
- (SPACES) n -- Console/Nuc2.asm
- Will display n spaces in the currrent window.
-
- (TRAP$) trap# -- Toolbox/Base
- Compiles a call to the given trap.
-
- (TYPE) addr len -- Console/Nuc2.asm
- Prints the given text to the screen.
-
- (WRITE) fcb count bufaddr -- ioResult Files/Nuc2.asm
- Calls the File Manager routine Write to write count bytes into bufaddr
- from the file specified by fcb. If successful, ioResult is zero;
- otherwise, it is non-zero. (write) is the primitive used by the Write:
- method of class
-
- ) -- Compiler/base
- Right paren. Denotes the end of a comment that was begun by ( .
-
- * n1 n2 -- n1*n2 Arithmetic/Nuc2.asm
- Standard multiply.
-
- ** obj selid -- OOP/Class
- Late binds whatever is on the stack to the given method. e.g. obj get:
- ** . You must be sure that obj really does point to an object.
-
- **N flt n -- flt**n FloatingPoint/floating point
- Integer exponentiation. This wasn't in Neon, but might be useful. Note
- this operation ignores the high-order 16 bits of n.
-
- */ n1 n2 n3 -- (n1*n2)/n3 Arithmetic/Nuc2.asm
- Multiplies the two signed integers n1 and n2, then divides the double
- number product by the signed number n3, leaving a signed quotient.
-
- */MOD n1 n2 n3 -- rem (n1*n2)/n3 Arithmetic/Nuc2.asm
- Same as */ except also leaves the remainder of the division.
-
- *> f -- : word Arithmetic /args
- A floating point prefix operator. Multiplies by f. Use for fvalues,
- local fvariables, named input parameters. Not for ints.
-
- *W n1 n2 -- n1*n2 Arithmetic/Nuc2.asm
- Faster than * on a 68000 if you know that the operands are in the range
- -32768 to +32767.
-
- + n1 n2 -- n1+n2 Arithmetic/Nuc2.asm
- Standard addition.
-
- +! n addr -- Memory/Nuc2.asm
- Adds n to the longword at address.
-
- ++> n -- : word Arithmetic /args
- A prefix operator. Adds n. Use for values, local variables, named input
- parameters. Also works for floats.
-
- +- n1 n2 -- n3 Arithmetic/Nuc2.asm
- Sets the sign of n1 to that of n2, left as n3.
-
- +> n -- : word Arithmetic /args
- A prefix operator. Adds n. Synonym for ++>. Use for values, local
- variables, named input parameters. Also works for floats.
-
- +CURS -- Console/Nuc2.asm
- Turns on display of the cursor on the screen.
-
- +ECHO -- Console/Nuc2.asm
- Turns on echoing to the screen of source files being loaded from disk.
- You may want to use +echo when loading a newly created source file to
- help spot any code snagging compilation. Echo is toggled by the
- keyboard short cut: Command-O
-
- +LOOP n -- ControlStructures/Nuc2.asm
- Marks end of DO ...+LOOP structure. Like LOOP except will increment i
- by n.
-
- , n -- Compiler/Nuc2.asm
- Compiles 4-byte n into the next available dictionary.
-
- ," -- Strings/Nuc2.asm
- Add text till " to the dictionary.
-
- ,"STR" -- Strings/Nuc2.asm
- Adds text delimited by " at the start and end.
-
- ,DLM-STR c -- Lowstrings/Nuc2.asm
- Scans the source for a string delimited at the start and end by c, then
- adds it to the dictionary.
-
- ,EXEC xt n -- Compiler/args
- State-smart execute. If used within a program definition, compiles the
- xt as a literal to be executed at runtime; otherwise executes it
- immediately. This is not an immediate word. It is useful in building
- compiler words which conditionally compile other words.
-
- ,STR c -- Lowstrings/Nuc2.asm
- c is delimiter. Adds the following text until delimiter to the
- dictionary as a counted string.
-
- - n1 n2 -- n1-n2 Arithmetic/Nuc2.asm
- Standard subtraction.
-
- -! n addr -- Memory/Nuc2.asm
- Subtracts n from the longword at address.
-
- --> n -- : word Arithmetic /args
- A prefix operator. Subtracts n. Use for values, local variables, named
- input parameters. Also works for floats.
-
- -<" -- : filename Files/Nuc2.asm
- This is the primitive loader. Use this when rebuilding Mops from below
- "Files" which contains the definition for //. Note that <" can be used
- but is a bit slower since the files are echoed to display.
-
- -> n -- : word Memory/args
- Gazinta. A prefix operator. Stores n in values, local variables, named
- input parameters, and vects.
-
- -CURS -- Console/Nuc2.asm
- Turns off display of the cursor on the screen.
-
- -ECHO -- Console/Nuc2.asm
- Turns off echoing to the screen of source files being loaded from disk.
- Echo is toggled by the keyboard short cut: Command-O
-
- -MODELESS -- Events/Objinit
- Sets normal event handling - no modeless dialogs, by storing the
- appropriate 23 event handlers in the event object fevent.
-
- . n -- Console/Nuc2.asm
- Displays a number, followed by one space.
-
- ." -- Strings/Nuc2.asm
- Will print to the console text delimited by "
- Not state smart (only works inside a defintion).
-
- .( -- Lowstrings/Nuc2.asm
- Forth-83/ANSI standard. Prints out text till ). Immediate.
-
- .CLASS: -- OOP/Class
- A method. Prints the name of the class of the given object.
-
- .CELL addr -- Console/Frontend
- A vect. Will display the contents of the given stack cell.
- Is revectored to display floats in scientific notation if
- fp is loaded. Used for stack display in the new Mops
- interface.
-
- .CUR -- System/Nuc2.asm
- Draws the cursor in the Mops console window.
-
- .H n -- Console/Base
- Displays number as signed hex. See U.H
-
- .ID ?xt -- Compiler/Nuc2.asm
- If addr looks like a xt with a name, prints the name. If it looks like
- a xt without a name, prints "(no name)". Otherwise doesn't print
- anything.
-
- .ID: -- OOP/Class
- A method. Prints the name of the given object, if it has a name.
-
- .R n w -- Console/Nuc2.asm
- Prints n using the current number base, right-justified in a field w
- characters wide. The entire number is printed even if it exceeds field
- width.
-
- .S -- Stack/Nuc2.asm
- Non-destructively prints the contents of the two stacks in decimal and
- hexadecimal.
-
- .W -- : word Memory/Struct
- Performs a memory DUMP for 200 bytes starting at the nfa+1 of the
- following word in the input stream.
-
- / n1 n2 -- n1/n2 Arithmetic/Nuc2.asm
- Standard division.
-
- // -- : filename System/Files
- Nesting loader. Usage: // filename
-
- /> f -- : word Arithmetic /args
- A floating point prefix operator. Divides by f. Use for fvalues, local
- fvariables, named input parameters. Not for ints.
-
- /MOD n1 n2 -- rem n1/n2 Arithmetic/Nuc2.asm
- divides n1 by n2 leaving the remainder under the signed quotient.
-
- /MODW n1 n2 -- rem n1/n2 Arithmetic/Nuc2.asm
- Faster version of /mod on a 68000 if you know that the operands are in
- the range -32768 to +32767.
-
- /STRING addr len n -- addr' len' Lowstrings/Nuc2.asm
- Updates the string descriptor (addr len) by n bytes. Adds n to addr,
- and subtracts it from len. n may be negative.
-
- 0, -- Compiler/Base
- Compiles an empty cell.
-
- 0< n -- b Arithmetic/Nuc2.asm
- less than zero
-
- 0<= n -- b Arithmetic/Nuc2.asm
- less than or equal to zero
-
- 0<> n -- b Arithmetic/Nuc2.asm
- not equal to zero
-
- 0= n -- b Arithmetic/Nuc2.asm
- zero equals
-
- 0> n -- b Arithmetic/Nuc2.asm
- greater than zero
-
- 0>= n -- b Arithmetic/Nuc2.asm
- greater than or equal to zero
-
- 0DUP 0 -- 0 0 | n -- n Stack/Nuc2.asm
- Duplicates only if zero.
-
- 0EXIT ? -- ControlStructures/Nuc2.asm
- Equivalent to NIF EXIT THEN.
-
- 1+ n -- n+1 Arithmetic/Base
-
- 1- n -- n-1 Arithmetic/Base
-
- 1/X flt1 -- flt2 FloatingPoint/floating point
- Computes the reciprocal.
-
- 2+ n -- n+2 Arithmetic/Base
-
- 2- n -- n-2 Arithmetic/Base
-
- 2/ n -- n/2 Arithmetic/Base
-
- 2DROP n1 n2 -- Stack/Nuc2.asm
-
- 2DUP n1 n2 -- n1 n2 n1 n2 Stack/Nuc2.asm
-
- 3+ n -- n+3 Arithmetic/Base
-
- 3- n -- n-3 Arithmetic/Base
-
- 4+ n -- n+4 Arithmetic/Base
-
- 4- n -- n-4 Arithmetic/Base
-
- : -- : name Compiler/Nuc2.asm
- Creates a dictionary entry for the next word in the input stream.
- standard
-
- :A -- Compiler/Nuc2.asm
- For defining action handlers that cross module bounds. If a class is
- defined in module1, but instantiated in module2 with action handlers in
- module2, define handlers with :a ... ;a.
-
- :CLASS -- : name super{ cname1 cname2 } opt OOP/Class
- Begins definition of a new class. One or more classnames can be
- designated as superclass(es). There are optional parameters that may
- also be declared after the superclass list, including n INDEXED, LARGE,
- and GENERAL.
-
- :CODE -- : name Assembler/
- The analog of : for assembler definitions.
-
- :F -- : name Compiler/base
- Begins compilation of a word which was previously forward-referenced.
- :f creates a headerless entry for the word and then patches the
- previous entry to point to the newly compiled definition.
- Forward-referencing is useful when a word is to be used before it can
- be defined. You end the compilation with ;f.
-
- :LOC -- : name Memory/args
- Commences the definition of the "main" word of a local section. The {
- ... } syntax is not used here, as it has already been done at LOCAL.
-
- :M -- : name: OOP/Class
- Begins definition of a method within a class. Note that name: MUST end
- with a colon (:).
-
- :MCODE -- : name: Assembler/
- The analog of :m for assembler definitions.
-
- :MLOC -- : name Memory/args
- Commences the definition of the "main" method of a local section within
- a class definition.
-
- :PROC -- : name Toolbox/base
- Begins compilation of a word that to the Toolbox behaves like a Pascal
- procedure or function. You can use a :proc word when a Toolbox routine
- requires a procedural argument.
-
- ; -- Compiler/Nuc2.asm
- standard
-
- ;A -- Compiler/Nuc2.asm
- For defining action handlers that cross module bounds. If a class is
- defined in module1, but instantiated in module2 with action handlers in
- module2, define handlers with :a ... ;a.
-
- ;CLASS -- OOP/Class
- Ends definition of a class.
-
- ;CODE -- Assembler/
- The analog of ; for assembler definitions.
-
- ;F -- Compiler/base
- Ends compilation of a word which was defined with :f. See forward.
-
- ;LOC -- Memory/args
- Ends the definition of the "main" word, and ends the local section.
-
- ;M -- OOP/Class
- Ends definition of a method in a class.
-
- ;MCODE -- Assembler/
- The analog of ;m for assembler definitions.
-
- ;MLOC -- Memory/args
- Ends the definition of the "main" method, and ends the local section.
-
- ;PROC -- Toolbox/base
- Ends compilation of word defined with :proc
-
- ;S -- System/Nuc2.asm
- This is the primitive that ; compiles at the end of a colon definition.
- ;s transfers execution to the next higher level by popping the return
- address of the calling word or method off the return stack.
-
- < n1 n2 -- b Arithmetic/Nuc2.asm
- Less than.
-
- <" -- : filename Files/Nuc2.asm
- This is the primitive loader. Use this when rebuilding Mops from below
- "Files" which contains the definition for //. Note that -<" is a bit
- faster since the files are not echoed to display.
-
- <# n 0 -- NumericConversion/Nuc2.asm
- Initializes numeric conversion. Always place a 0 on top of the stack,
- it isn't really used but you have to reserve space on the stack.
-
- << n s -- n' Arithmetic/Nuc2.asm
- Shifts the bits of n to the left by s shift bits. e.g. 3 2 << will
- yield 12 (0011) -> (1100).
-
- <= n1 n2 -- b Arithmetic/Nuc2.asm
- less than or equal
-
- <> n1 n2 -- b Arithmetic/Nuc2.asm
- not equal, perhaps we could use ≠ ?
-
- <BUILDS -- : name Compiler/Nuc2.asm
- We retain <BUILDS to be used in conjunction with DOES> rather than
- following the standard and using CREATE. This is because CREATEd words
- have the data right at the xt, while DOES> words have to have a pointer
- to the DOES> code. So rather than waste space in CREATEd words or do a
- complicated kludge during compilation, we use <BUILDS.
-
- <SUPER -- : cname1 cname2 } opt OOP/Class
- Synonym for super{, but only looks for one superclass. For backwards
- compatibilty with Neon.
-
- = n1 n2 -- b Arithmetic/Nuc2.asm
- equals
-
- > n1 n2 -- b Arithmetic/Nuc2.asm
- greater then
-
- >= n1 n2 -- b Arithmetic/Nuc2.asm
- greater than or equal
-
- >> n s -- n' Arithmetic/Nuc2.asm
- Shifts the bits of n to the right by s shift bits. e.g. 12 2 >> will
- yield 3 (1100) -> (0011).
-
- >CLASS obj -- class | -- 0 Compiler/Nuc2.asm
- Converts an object address to its class address. Returns zero if the
- passed-in address isn't an object address. Needs to work for heap as
- well as dictionary objects. The test is very unlikely (maybe 1/2**24)
- to indicate a non-object as being an object. Without tagged storage we
- can't be absolutely sure. To save time we don't do a conservative check
- on obj actually being a legal address (unlike xt?), apart from checking
- that it is even, which is a very quick check. This means we may crash
- if an even but illegal address is passed in. The presumption is that it
- really is an object address, and that anything else is an (unlikely)
- error.
-
- >Classxt obj -- class | -- 0 Compiler/Nuc2.asm
- As for >CLASS, but if the class is exported from a module and you are
- executing in the main dictionary, it gives the xt of the imported word,
- without accessing the module. This can be useful if you just want to
- identify a class without needing all the class info. If you are
- executing in the module, however, you will get the xt of the class in
- the module. The general rule is that the returned xt will always be the
- same as if you had just ticked the classname, wherever you are
- executing.
-
- >FLOAT n -- flt FloatingPoint/Nuc2.asm
- Converts the integer to a float.
-
- >IN -- a-addr Compiler/Nuc2.asm
- A variable. to-in a-addr is the address of a cell containing the offset
- in characters from the start of the input buffer to the start of the parse
- area.
-
- >NAME xt -- nfa Compiler/Nuc2.asm
- Returns the name field address (nfa) for the given xt.
-
- >NUMBER ud1 addr1 len1 -- ud2 addr2 len2 Core/Nuc2.asm
-
- >ORIGIN x y -- QuickDraw/Nuc2.asm
- Calls toolbox SetOrigin.
-
- >PTR addr -- n Memory/Nuc2.asm
- In our present system, this is an alias for @.
-
- >R n -- Stack/Nuc2.asm
- Pushes the top stack value to the return stack.
-
- >STR255 addr1 len addr2 -- addr2 Strings/Base
- Converts text beginning at addr1 for len characters to a str255 type
- string at addr2.
-
- ?#xtS n1 n2 -- Compiler/Struct
- Used to check that the right number of stacked xts is being passed in.
-
- ?>CLASS obj -- class OOPprimitive/Class
- Converts the pointer to an object to a pointer to its class. Aborts if
- failure.
-
- ?>ClassInMod class -- class' Compiler/Nuc2.asm
- Converts a class address to the corresponding class address in a
- module, if the class is exported, and holds the module. If the class
- isn't exported, does nothing.
-
- ?CLASS -- OOPprimitive/Class
- Error if not compiling a class definition.
-
- ?COMP -- Compiler/Nuc2.asm
- Prints message: "compilation only" if not compiling, that is, if state
- is not zero
-
- ?DEFN n1 n2 -- Errors/Nuc2.asm
- Prints message: "unpaired conditionals" if n1 does not equal n2.
- Message indicates that compiled conditionals do not match, such as an
- IF without a THEN.
-
- ?DO end beg -- ControlStructures/Nuc2.asm
- Marks beginning of ?DO ... LOOP sequence. Will not execute even once if
- end ≤ beg. See DO.
-
- ?DUP n -- n n | 0 -- 0 Stack/Nuc2.asm
- Duplicates only if non-zero.
-
- ?ERROR b -- : lit Errors/base
- If b is true, aborts and displays given string number (a literal) from
- the mops.rsrc file.
-
- ?EVENT eventMask -- b Events/Nuc2.asm
- Calls the Toolbox Event Manager routine EventAvail to test for the
- event(s) specified by eventMask. If an event is available, leaves a
- true flag; otherwise, leaves a false flag.
-
- ?EXEC -- Errors/Nuc2.asm
- Issues an error message if not in interpret state.
-
- ?EXIT ? -- ControlStructures/Nuc2.asm
- Equivalent to IF EXIT THEN.
-
- ?PAIRS n1 n2 -- System/Nuc2.asm
- Prints message: "unpaired conditionals" if n1 does not equal n2.
- Message indicates that compiled conditionals do not match, such as an
- IF without a THEN.
-
- ?PAUSE -- Events/Nuc.asm
- A system vector. Normally defined as ?p (see definition of ?p in file
- struct), which will look for a keystroke to pause the current activity
- and then continue only if the spacebar is pressed. Used when listing
- words to the console.
-
- ?RDEPTH -- Errors/base
- Prints message: "Return Stack Overflow" and executes an abort if the
- return stack is too close to its maximum depth.
-
- ?RTNAEPMISSED w:xx rc -- w:rc' Events/Nuc2.asm
- This can be called after calling GotParms? to convert the return code
- from that word to the appropriate return code to return to the caller
- of the handler. If GotParms? returns false, that means we missed a
- parm, so we return -1715. If GotParms? returned anything non-zero, that
- means we got all the parms, so we return zero.
-
- ?STACK -- Errors/Nuc2.asm
- Prints message: "empty stack" and executes an abort if underflow has
- occurred on the parameter stack. Underflow may occur if a word or
- method expects more parameters than are provided.
-
- ?TERMINAL -- Events/Nuc2.asm
- Performs a 40 ?Event. This word is used in class Mouse, and in the
- utility word ?pause to test for a keyboard event.
-
- @ addr -- n Memory/Nuc2.asm
- fetches 32-bit value at address
-
- @ABS addr -- abs-addr Compiler/Nuc2.asm
- addr is the address of a relocatable address (i.e. where the
- relocatable address itself is located, not where it points to). Fetches
- this address and converts it to absolute. Gives an error if it isn't a
- valid relocatable address.
-
- @VAL -- Compiler/Base
- Compiles a number from input stream.
-
- @WORD -- addr Compiler/Base
- Retrieves next blank-delimited word from input stream.
-
- @XY -- x y QuickDraw/Nuc2.asm
- Via a toolbox call to GetPen, leaves the x and y coordinate of the
- graphics pen.
-
- ABORT -- Errors/Nuc2.asm
- standard
-
- ABORT" b -- : textString" Errors/Nuc2.asm
- Prints the text string and executes an abort, if the boolean is true.
- Useful in debugging and error reporting. At least one space must follow
- the first quote. Can be used in colon definition only.
-
- ABORTVEC -- System/Nuc.asm
- A system vector. Contains cl3, defined in file Objinit.
-
- ABOUTVEC -- Menus/Frontend
- The first action handler for our AppleMenu object, since it is a vect
- we can reuse in an application.
-
- ABS n -- |n| Arithmetic/Nuc2.asm
- absolute value (not antilock brake system)
-
- ABS> -- : word Arithmetic/args
- A floating point prefix operator. Changes to absolute value. Use for
- fvalues, local fvariables, named input parameters. Not for ints.
-
- ACCEPT addr n1 -- n2 Core/Nuc2.asm
- ANSII Receive a string of at most n1 characters.
-
- ACTV-EVT -- false Events/Event
- An action word for fevent. Handles activate and deactivate events by
- sending a late bound enable:and disable: messages to the current window
- (but only if it is an application window).
-
- ACTW -- wptr | 0 Events/Window
- A value. Indentifies any active Mops window which should be idled. Will
- be set zero if we have, say, a dialog as the front window, but NOT if
- we're switched into the background.
-
- ADDR: -- ^base OOP/Class
- A method. Returns the address of the beginning of an object's ivars.
-
- AEErrorVec -- Events/Event
- A vect. Called when an AppleEvent handler returns. Default is (AEerr).
-
- AEhandler ^AE ^AEReply RefCon -- Events/Nuc2.asm
- Put at the start of an AppleEvent handler proc. Pops the parms into the
- appropriate locations.
-
- AGAIN -- ControlStructures/Nuc2.asm
- Standard. Marks bounds of BEGIN ... AGAIN loop.
-
- ALIGN -- Compiler/Nuc2.asm
- If the DP is odd, adds one to it.
-
- ALIGN-DP -- Compiler/Nuc2.asm
- Same as ALIGN.
-
- ALIGNED addr -- even-addr Memory/Nuc2.asm
- Increments addr by one if it is odd, leaving the next address. You can
- use align to make sure the 68000 will not try to access memory
- beginning at an odd address, which can cause a fatal error.
-
- ALLOT n -- Compiler/Nuc2.asm
- Reserves n additional bytes for the code field of the last defined
- dictionary entry.
-
- AND n1 n2 -- and Arithmetic/Nuc2.asm
-
- AND> n -- : word Arithmetic /args
- A prefix operator. Logically ands with n. Use for values, local
- variables, named input parameters. Not for floats.
-
- ANTILOG flt1 -- flt2 FloatingPoint/floating point
- Antilog ( 10^x ) of x
-
- APPINIT -- Applications/Objinit
- APPINIT is the startup word that we execute via ObjInit in installed
- applications. Performs a filint and sizes fwind to our screen if we are
- using fwind.
-
- AppleEvents? -- b Events/Nuc2.asm
- A value. Set True by the startup code if AppleEvents are available.
-
- APPLEMEN -- obj Menus/FrontEnd
- The standard AppleMenu object. Need only send the getnew: message at
- runtime to activate. Note you must copy the MENU resource #1 into an
- installed application before this will run, otherwise bomb city.
-
- APPLEMENU -- : name Menus/MenuMod.txt
- A standard class, subclass of menu. An applemenu facilitates standard
- apple menu support by filling the menu with all of the desk accessories
- when a getnew: message is sent. The Mops applemenu object is applemen.
-
- APPWIND? -- b Events/Event
- True if this is an application window. This check is necessary for
- non-multifinder systems while calling WaitNextEvent.
-
- ARCTAN flt1 -- flt2 FloatingPoint/floating point
- Computes arctangent, given radians.
-
- ArithErr strID -- System/Nuc.asm
- A system vector. Normally contains DIE. Is called upon division by zero.
- See Zdiv in file Nuc1.asm.
-
- ARRAY #elems -- : name OOP/Struct
- A standard class. ARRAY is the basic 4-byte cell one-dimension array.
- Class is INDEXED.
-
- ARROWCURS -- Quickdraw/QD
- Sets the cursor to this. Merely calls Toolbox InitCursor.
-
- ASMCALL addr len -- Toolbox/tool.txt
- Assembles the trap call to the Toolbox routine named by the string.
- Note that SaveA5 and RstA5 are not called as for CALL. This may
- be ok for those toolbox routines which are not A5 sensitive.
-
- ASYNCH -- Files/Files
- Sets value asynch? to true.
-
- ASYNCH? -- b Files/Files
- A value. True if performing an asynchronous i/o operation.
-
- BASE -- n Arithmetic/Nuc2.asm
- This value contains the current number base used for the input and
- output conversions.
-
- BE -- Compiler/base
- A primitive for implementing become.
-
- BECOME -- : word Events /base
- BECOME allows restarting at a given word, with all stacks empty. This
- is necessary in menu handlers and other areas that could create
- indefinite nesting situations.
-
- BECOMExt -- : word Compiler/base
- A system vect used to implement become.
-
- BEEP dur -- Sound/Nuc2.asm
- Beeps the Macintosh's speaker for dur ticks (60ths of a second).
- No it doesn't. dur is ignored and it gives a beep of duration
- based on the control panel setting. But we retain the need for
- *something* on the stack for backwards compatibility.
- Simply calls Toolbox SysBeep.
-
- BEGIN -- ControlStructures/Nuc2.asm
- standard. Marks the beginning of a BEGIN ...
- (WHILE/NWHILE/UNTIL/NUNTIL/AGAIN) looping structure.
-
- BIG# -- $7FFFFFFF System/Nuc2.asm
- A constant.
-
- BIND_WITH obj --<selector> obj-modified xt OOP/Class
- If you are late-binding in a loop, it can be much faster if you do the
- bind just once, then reuse the resulting xt each time in the loop. This
- way you only have to perform the method search once. To bind initially
- and get the xt, use BIND_WITH. Usage: (savext and obj-mod are values or
- locals). (get object's address) bind_with someSelector: -> savext ->
- obj-mod. (in the loop) obj-mod savext ex-method.
-
- BL -- 32 Strings/Nuc2.asm
- A constant.
-
- BLANKS addr n -- Strings/Nuc2.asm
- Fills memory with blanks (ascii 32) starting at addr for n bytes.
-
- BOOL -- : name OOP/Struct
- A standard class. Subclass of byte. Note that since the datalength of
- aMops class bool is 1, this class should not be used to map into a
- Toolbox record of type BOOLEAN because the Pascal type boolean has a
- length of 2 (Use the Mops class INT for a Toolbox boolean).
-
- BOTTOM -- n Console/Nuc2.asm
- Computes a quantity needed by the console.
-
- BOUNDS addr cnt -- limit addr Controlstructures/Nuc2.asm
- Equivalent to OVER + SWAP. Useful for setting up many DO loops.
-
- BRESET addr bit# -- Memory/Nuc2.asm
- Clears the bit. bit# can be >8.
-
- BSET addr bit# -- Memory/Nuc2.asm
- Sets the bit. bit# can be >8.
-
- BTEST addr bit# -- b Memory/Nuc2.asm
- Tests the bit and returns true if the bit is set, false otherwise.
-
- BTOGGLE addr bit# -- Memory/Nuc2.asm
- Inverts the bit. bit# can be >8.
-
- BUF255 -- addr Strings/Base
- A 256-byte buffer for str255 operations.
-
- BUSY -- n System/Nuc2.asm
- A value. FCB of file involved in asynchronous I/O, or zero if none. Set
- from high level, not from here. Cleared here though, by the completion
- routine.
-
- BYE -- System/Nuc2.asm
- Closes open files and returns control to the Finder via ExitToShell.
-
- BYTE -- : name OOP/Struct
- A standard 1-byte variable class. See also UBYTE
-
- BYTES n -- : ivarname OOP/Class
- Bytes is used as the ivar allocation primitive for basic classes.
- Allocates n bytes as a named instance variable of an object. You can
- use bytes to map a Toolbox data structure as an object when named
- access to some of the fields is not needed (but you must know the
- proper length).
-
- C! c addr -- Memory/Nuc2.asm
- Stores given 8-bit number to byte at given address.
-
- C, w -- Compiler/Nuc2.asm
- Compiles 1-byte c into the next available dictionary.
-
- C@ addr -- c Memory/Nuc2.asm
- Fetches 8-bit value from given address. Does not sign extend to 32-bits.
-
- C@X addr -- c Memory/Nuc2.asm
- Fetches 8-bit value from given address. Sign extends to 32-bits.
-
- CALL -- : TrapName Toolbox /tool.txt
- Used to compile a call to a Macintosh Toolbox routine. Simply follow
- call with the name of the routine. Compilation only. Note that the
- toolbox call will be preceded with a call to SavA5 and will be
- followed by RstA5. See ASMCALL to avoid SavA5 and RstA5.
- See FCALL for low level File Manager trap calls.
-
- CallFirst -- : methodname: OOP/Call1&Lmod.txt
- The next method definition will always execute the method indicated by
- methodname: BEFORE it is executed by a subclass. Provides a way for
- superclasses to limit the extent to which subclasses may override a
- method.
-
- CallLast -- : methodname: OOP/Call1&Lmod.txt
- The next method definition will always execute the method indicated by
- methodname: AFTER it is executed by a subclass. Provides a way for
- superclasses to limit the extent to which subclasses may override a
- method.
-
- CASE n -- ControlStructures/base
- Begins a CASE .. OF .. ENDOF ... ENDCASE structure. Also see RANGEOF.
- We normally normally use this form of case when values to be compared
- to n are computed at runtime. See also CASE[ and SELECT{
- example use:
- ...
- CASE x OF ... ENDOF
- y z RANGEOF ... ENDOF
- ( optional default actions can go here, n is on the stack at this
- point, you can use it but you must put *something* back on
- the stack so ENDCASE will have something to consume)
- ENDCASE ...
-
- CASE? -- b Strings/StrUtilities
- A value. True if case to be significant in comparisons done by CMPSTR
- and string+ objects (does not affect string objects).
-
- CASE[ n -- ControlStructures/casemod.txt
- Begins a CASE[ .. ]=> .. DEFAULT=> ... ]CASE structure. Also see RANGE]=>
- ], and range],
- We use this form of case when values to be compared to n are known at
- compile time. See also CASE and SELECT{. Important, compare-to values
- are limited to -32768 through +32767.
- example use:
- ...
- CASE[ x ]=> ...
- [ y z RANGE]=> ...
- [ a ], [ b ], [ d f range], [ h ]=> ...
- DEFAULT=> ( DEFAULT=> is mandatory. Default actions go here, n is on
- the stack at this point, you normally will consume n
- here because , unlike ENDCASE, ]CASE will *not* consume
- the top stack item.)
- ]CASE ...
-
- CATCH xt -- n Errors/Nuc2.asm
- Standard. Executes xt and returns 0 if all is OK, or n if THROW was
- executed with n.
-
- CELL+ addr1 -- addr2 Memory/Base
- Add the size of a cell (currently 4) to addr1.
-
- CELL- addr1 -- addr2 Memory/Base
- Subtracts the size of a cell (currently 4) from addr1.
-
- CELLS n1 -- n2 Memory/Base
- n2 is the size of n1 cells.
-
- CFAS( -- : name1 name2 etc. Compiler/base
- Synonym for xts{.
-
- CFAS{ -- : name1 name2 etc. Compiler/base
- Synonym for xts{.
-
- CHAR -- n : char Strings/Base
- Leave ascii value of next char in stream. Interpretation only.
- Use [CHAR] inside a definition. ANSII See &
-
- CHAR+ addr1 -- addr2 Memory/Base
- Adds the size of a character (currently 1) to addr1.
-
- CHARS n1 -- n2 Memory/Base
- n2 is the size of n1 chars. In the current implementation this is
- effectively a no-op.
-
- CHKCLASS xt -- xt OOP/Class
- Aborts and issues error message if the xt does not refer to a class.
-
- CHKSAME obj -- obj OOP/Class
- A check that two objects are of exactly the same class. Aborts with
- error message if not.
-
- CL1 -- Oopprimitive/Class
- Cleans up the class compiler data on an abort.
-
- CL2 -- System/Files
- Next cleanup word - clean up all file stuff on abort, as well as
- whatever we were doing before ( in CL1 ).
-
- CL3 -- System/Objinit
- Another clear action for abortvec. Does a key!, unhilites a menu, sets
- arrowcurs, and finally calls unmod and cl2.
-
- CL>LEN #els class -- #els len OOPprimitive/Class
- Gets data length of object given #els and class.
-
- CLASS: -- class OOP/Class
- A method. Returns the class pointer for an object.
-
- CLASS? xt? -- xt? b Compiler/Nuc2.asm
- Returns true if the xt refers to a class.
-
- CLASSINIT: -- OOP/Class
- Our standard constructor method. The default message that is ALWAYS
- sent to an object at time of instantiation, even ivars. Note that a
- classinit: method should not expect any stack parameters (actually, it
- will work for dictionary objects, but it won't work for ivars, so it is
- best not to do this).
-
- CLASS_IS -- : classname OOP /Class
- The normal object pointer syntax is ObjPtr ZZZ class_is someClass
- Thereafter, any messages sent to zzz are early-bound to the object that
- zzz points to at the time the message executes. Also, see set_to_class .
-
- CLRCOMP -- Compiler/Nuc2.asm
- Called by error routines, also by semicolon. Clears all the compilation
- flags to their initial state.
-
- ClrFCB fcb -- Files/base
- Erases a parm block up to the FSSpec record, except for the filename
- pointer.
-
- CLS -- Console/Nuc2.asm
- Clears the current window and leaves cursor in upper left corner.
-
- CMOVE src dest cnt -- Memory/Nuc2.asm
- Copies cnt bytes from src address to dest address. Cnt must be between
- 0 and 64K. Use move for a more general cnt.
-
- CMPSTR addr1 len1 addr2 len2 -- n Strings/StrUtilities
- Compares 2 strings. Case is significant if CASE? is set to true.
- Returns: -1 if first string low, 0 if strings are equal, 1 if first
- string high. We assume the lengths are both less than 64K. Similar to
- $=, but faster.
-
- CODE -- : name Assembler/Nuc2.asm
- Creates a header for a code definition. In our system it is actually a
- synonym for COLHDR, since there's really no essential difference
- between code and colon definitions.
-
- COLHDR -- Compiler/Nuc2.asm
- Lays down the header for a colon definition.
-
- COMPILE, cfa -- Compiler/Nuc2.asm
- ANSI synonym for (COMP)
-
- CONSTANT n -- : name Memory/Nuc2.asm
- standard. Creates a dictionary entry whose runtime action is to place n
- on the stack.
-
- CONTBOT -- y Quickdraw/Nuc2.asm
- Returns the bottom of the content region for the front window.
-
- CONTEXT -- addr Compiler/Nuc.asm
-
-
- CONTTOP -- y Quickdraw/Nuc2.asm
- Returns the top of the content region for the front window.
-
- COPYH -- System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- COPYTO: obj -- OOP/Class
- A method. Copies the ivar part of the passed in object to self. Doesn't
- check type - be careful.
-
- COS flt1 -- flt2 FloatingPoint/floating point
- Computes cosine, given radians.
-
- COT flt1 -- flt2 FloatingPoint/floating point
- Computes cotangent, given radians.
-
- COUNT str255 -- addr len Strings/Nuc2.asm
- Converts a Pascal type string ( str255 ) to the addr len format.
-
- CPADDR -- addr System/Nuc2.asm
- Completion routine address, or zero if none. Also servesas a flag that
- the next op is to be asynchronous.
-
- CR -- Console/Nuc2.asm
- "Prints" a carriage-return/linefeed (cr/lf) on the screen. If system
- vector pcrvec is vectored to pcr, by executing +print, the cr sends a
- cr/lf to the printer.
-
- CREATE -- : name Compiler/Nuc2.asm
- This is now Forth-83/ANSI. Creates a dictionary header using the next
- word in the input stream. If this new word is executed, it returns its
- pfa. What we actually do is to call HEADER, then add in the appropriate
- handler code.
-
- CREATE_OBJ -- : name Compiler/Nuc2.asm
- Creates a dictionary header for an object. As for CREATE, but we add
- the handler code for objects instead.
-
- CREPLACE c mask addr -- Memory/Nuc2.asm
- Replaces bits in the addressed byte with the corresponding bits from c,
- in those positions where the mask has ones. Dont' use. Use bset, etc.
-
- CRESET c addr -- Memory/Nuc2.asm
- Clears bits in byte at addr, corresponding to the bits SET in c.
-
- CROSSCURS -- Quickdraw/QD
- Sets the cursor to this.
-
- CRVEC -- System/Nuc2.asm
- A system vector. Set (cr) with OLDVECS in effect, set to xcr
- with NEWVECS.
-
- CSET c addr -- Memory/Nuc2.asm
- ORs c into the byte at addr.
-
- CSTATE -- b Compiler/Nuc2.asm
- This value is a boolean which is true while a class is being compiled.
- It is analogous to state which is true while a colon word is being
- compiled.
-
- CTOGGLE c addr -- Memory/Nuc2.asm
- Exclusive-ORs c into the byte at addr.
-
- CURR-DEF -- n Compiler/Nuc2.asm
- A value.
-
- CURS -- -1 QuickDraw/Nuc2.asm
- A value.
-
- CURSOR n -- : name Quickdraw/QD
- A defining word for cursors, uses the Toolbox calls GetCursor and
- SetCursor at runtime execution of daughter words.
-
- CvtClip -- Events/Event
- A vect. Called for clip conversion.
-
- DATETIME -- n Time/base
- Leaves the value of the Mac global variable Time on the stack. This is
- the number of seconds since midnight, January 1, 1904.
-
- DB -- Debugging/Nuc2.asm
- Calls MacsBug or whatever debugger may be installed (A9FF trap).
-
- DBLTICKS -- n Events/Event
- Returns the double-click interval in ticks via the Mac global variable
- DoubleTime.
-
- DECIMAL -- Arithmetic/Nuc2.asm
- Sets base to 10.
-
- DEEP_CLASSINIT: -- OOP/Class
- Called automatically whenever an object is created. Does a classinit:
- on each nested ivar. Use for totally reinitializing an object.
-
- DEFAULT=> -- n ControlStructures/casemod.txt
- Used in a CASE[ construct. Mandatory.
-
- DEFAULT{ -- n Controlstructures/Modules
- Used in a select{ construct. Optional.
-
- DEFINED? -- addr n : word Compiler/Nuc2.asm
- Defined as MWORD FIND. Does a FIND on the next word in the input stream.
-
- DEG2RAD flt1 -- flt2 FloatingPoint/floating point
- Converts degrees to radians.
-
- DEL -- System/QD
- Draws a downward-pointing arrow to the right of and below the current
- pen position - we need this for pop-up menus. Any mathematician will
- recognize this symbol - hence the name.
-
- DEPTH -- n Stack/Nuc2.asm
- Leaves the number of items on the stack prior to executing depth.
-
- DESK -- Events/Event
- Desktop click handler - do nothing.
-
- DFA class -- dfa OOPprimitive/Class
- Given a pointer to a class, returns the data field address. First 2
- bytes are the data length, second 2 bytes are the width of the indexed
- elements.
-
- DFLT-DIE n -- Errors/Nuc.asm
- A system vector. Normally contains (ddie).
-
- DFLT-ERR n -- Errors/Nuc2.asm
- prints "Error # n" in console window. Used by various error
- handling words in the Mops system.
-
- DIALOG -- : name Alerts/Dialogs/DialogMod.txt
- A standard class, subclass of x-array. The Mops approach to handling
- dialogs.
-
- DICADDR -- : name OOP/Struct
- DICADDR is a relocatable dictionary address class - use to store
- non-executable dictionary addresses.
-
- DICSIZE -- n Compiler/Nuc2.asm
- A value. Set by the startup code to the actual space allocated for the
- dictionary
-
- DIE strID -- System/Nuc.asm
- A system vector. Normally contains (DDIE).
-
- DIGIT c base -- n2 t | f Arithmetic /Nuc2.asm
- Converts the ASCII character c using base into its binary equivalent
- n2, and leaves a true flag; if conversion fails, leaves a false flag
- only. Digit is a primitive used by (number).
-
- DIRFIND n fcb -- Files/Nuc2.asm
- Calls the HFSDispatch Procedure of the Mac File Manager. n is the call
- number and fcb is the file parameter block. See IM-IV.
-
- DISK-EVT -- false Events/Event
- An action word for fevent. Handles a disk insert event.
-
- DISPL! src dst -- Compiler/Nuc2.asm
- Makes the source address src relative (long form), and stores it at the
- destination address dst.
-
- DISPL, addr -- Compiler/Nuc2.asm
- Makes addr relative (long form), and adds it to the dictionary.
-
- DISPLACE addr -- addr' Compiler/Nuc2.asm
- Takes the longword at addr, and adds it to addr itself to give addr'.
- Thus the word at addr is in effect a relative displacement from its own
- address. We use this scheme to link words in the dictionary.
-
- DLEN&XWID class -- dlen xwid OOPprimitive/Class
- Given a class pointer, retuns the ivar datalength and width of the
- indexed elements.
-
- DLGWIND -- 1 Windows/Window
- A constant.
-
- DO end beg -- ControlStructures/Nuc2.asm
- Marks beginning of DO ... LOOP sequence. Will always execute at least
- once, even if end ≤ beg. See ?DO. DO loops are slightly different,
- although the change won't affect most existing code. The loop is
- considered to be finished if the index crosses the boundary between the
- limit and the limit minus one, in either direction. The main effect is
- to make loops go around one more time if the index is being counted
- down.
-
- doAEhandler ^AE ^AEReply RefCon -- Events/Nuc1.asm
- Called from AEhandler to set things up at the start of a handler.
-
- DOCWIND -- 0 Windows/Window
- A constant.
-
- DODSK item# -- item# Menus/Menu
- Executes the desk accessory for an item. Mops will use this as the
- second action handler for the object applemen.
-
- DOES> -- Compiler/Nuc2.asm
- Defines the runtime action of a word defined with <builds.
-
- DOWN n2 n3 n1 -- n1 n2 n3 Stack/Nuc2.asm
- Reverse of rot. Sometimes called -rot.
-
- DO_ET -- Compiler/base
- Primitive used by type{.
-
- DP -- addr Compiler/Nuc.asm
- A value. Leaves the address of the next memory location above the
- dictionary.
-
- DPL -- n Console /Nuc2.asm
- Returns the number of digits to the right of the decimal on double
- integer input. This may be used to compute the output column location
- of a decimal point in user generated formatting. The default value on
- single number inputs is -1.
-
- DROP n -- Stack/Nuc2.asm
-
-
- DUMP addr len -- Memory/Struct
- Displays the contents of memory beginning at addr for len bytes in a
- hex and ascii format. Note that the \/ mark points to the requested
- address (the dump may start at an address other than addr).
-
- DUMP: -- OOP/Class
- A method. Performs a formatted dump of a class.
-
- DUP n -- n n Stack/Nuc2.asm
-
-
- E -- flt FloatingPoint/floating point
- An fcon. Returns the base of the system of natural logarithms,
- 2.71828...
-
- E. flt -- FloatingPoint/floating point
- Same as 26 e.r
-
- E.R flt wid -- FloatingPoint/floating point
- Prints the floating point number in scientific notation in a field wid
- characters wide.
-
- ECHO? -- b Console/Base
- A value. Set true to echo loads to screen.
-
- ECHOVEC -- Console /Nuc2.asm
- This system vector is executed in Mops to echo keystrokes. When Mops
- starts up, echovec is vectored to (emit) which prints a character on
- the screen only. Selecting Echo to Printer from the Mops menu vectors
- echovec to echo, which prints a character on the screen and printer
- (this is the same as +print).
-
- EDITMENU -- : name Menus/MenuMod.txt
- A standard class, subclass of menu. An editmenu facilitates standard
- desk accessory support by first calling SystemEdit when an exec:
- message is sent so that any active DA first gets a go at it. The Mops
- editmenu object is editmen.
-
- ELSE -- ControlStructures/Nuc2.asm
- standard. Use with IF and NIF.
-
- EMIT c -- Console/Nuc2.asm
- Prints the character (lower 8 bits of the number) on the stack to the
- screen or printer by executing the system vectors emitvec and pemitvec.
- Whether the screen and/or printer are used depends on the contents of
- emitvec and pemitvec. When Mops starts up, emitvec is vectored to
- (emit) and pemitvec is vectored to drop. So, the default action of emit
- is to print a character on the screen only. Selecting Echo to Printer
- from the Mops menu vectors echovec to echo, which prints a character on
- the screen and the printer (this is the same as +print). The system
- value OUT is incremented for each character transmitted.
-
- EMITVEC -- Console /Nuc2.asm
- This system vector contains the xt of the word that performs character
- output to the primary device, usually the screen. When Mops starts up,
- emitvec is vectored to (emit), the primitive that prints a character on
- the screen using the DrawChar routine in QuickDraw.
-
- ENDCASE n -- ControlStructures/base
- Marks end of CASE structure.
-
- ENDLIST? chr -- b Compiler/base
- Primitive used by type{.
-
- ENDLOAD -- Compiler/wherever
- When loading a file, marks the end of input for that file. Useful for
- including instruction and/or examples at the end of a file without
- concern for using comment notation.
-
- ENDOF -- ControlStructures/base
- Use in CASE structure.
-
- ENDTRAV? -- b Compiler/Struct
- A value. May be set from within a trav handler to terminate the trav.
-
- EOF -- -39 Files/Files
- A constant. Mac File Manager result code eofErr. Logical end-of-file
- reached during read operation.
-
- ERASE addr n -- Memory/Nuc2.asm
- Clears (fills with zeros) memory starting at addr for n bytes.
-
- EVALUATE addr len -- Compiler/args
- ANSI standard. Makes the passed-in string the input stream for
- interpretation or compilation, until it is exhausted.
-
- EVENT -- : name Events/Event
- A system class, subclass of x-array. Our Mops event object is fevent.
-
- EVENTLOOP -- Events/Frontend
- A word you can call as an event loop in many applications. Properly
- handles keystrokes for windows with, for example, text edit routines.
-
- EX-GEN xt -- Compiler/Nuc2.asm
- "Execute general". Executes the word with the given xt. The word may be
- anything. It is executed by compiling it into a temporary buffer, then
- branching there. Slower than Execute, but unlike Execute, will really
- execute anything.
-
- EX-METHOD obj xt -- Compiler/Nuc2.asm
- Executes the method with the given xt, using the given object.
-
- EXECUTE xt -- Compiler/Nuc2.asm
- standard
-
- EXIT -- ControlStructures/Nuc2.asm
- Terminates execution of the current word or method, and returns control
- to the next higher word on the return stack.
-
- EXMID obj selID -- OOPprimitive/Class
- Executes a method given its sel ID. Used in late binding.
-
- EXN xt n -- Compiler/Nuc2.asm
- is to EX-GEN what (COMPN) is to (COMP). It has the additional parameter
- n which is action code for -> ++> etc. Because this can be called from
- EX-GEN (which may be executing a prefix op), we use the alternate
- execution buffer ExBuf1.
-
- EXP flt1 -- flt2 FloatingPoint/floating point
- Base e exponential.
-
- EXP1 flt1 -- flt2 FloatingPoint/floating point
- e**x - 1
-
- EXP21 flt1 -- flt2 FloatingPoint/floating point
- 2**x - 1
-
- EXTEND w -- n Arithmetic/Nuc2.asm
- Sign extends a 16 bit number to a 32 bit number, stack alignment is
- unaffected
-
- extra_inits -- FrontEnd/Struct
- Executes all of the xts contained in the object init_actions.
-
- F* flt1 flt2 -- flt1*flt2 FloatingPoint/floating point
- standard multiply
-
- F** flt1 flt2 -- flt1**flt2 FloatingPoint/floating point
- General exponentiation - takes 2 floats. Here I think the Neon name was
- crazy. But we've still got it for compatibility.
-
- F+ flt1 flt2 -- flt1+flt2 FloatingPoint/floating point
- standard addition
-
- F- flt1 flt2 -- flt1-flt2 FloatingPoint/floating point
- standard subtraction
-
- F.R flt wid -- FloatingPoint/floating point
- Prints the floating point number without exponents in a field wid
- characters wide.
-
- F/ flt1 flt2 -- flt1/flt2 FloatingPoint/floating point
- standard division
-
- F0< flt -- b FloatingPoint/floating point
-
- F0<= flt -- b FloatingPoint/floating point
-
- F0<> flt -- b FloatingPoint/floating point
-
- F0= flt -- b FloatingPoint/floating point
-
- F0> flt -- b FloatingPoint/floating point
-
- F0>= flt -- b FloatingPoint/floating point
-
- F2DROP flt1 flt2 -- FloatingPoint/floating point
-
- F2DUP flt1 flt2 -- flt1 flt2 FloatingPoint/floating point
-
- F< flt1 flt2 -- b FloatingPoint/floating point
-
- F<= flt1 flt2 -- b FloatingPoint/floating point
-
- F<> flt1 flt2 -- b FloatingPoint/floating point
-
- F= flt1 flt2 -- b FloatingPoint/floating point
-
- F> flt1 flt2 -- b FloatingPoint/floating point
-
- F>= flt1 flt2 -- b FloatingPoint/floating point
-
- FABS flt -- |flt| FloatingPoint/floating point
-
- FAE -- ^AE events/Nuc.asm
- A value used to handle AppleEents.
-
- FALSE -- b Arithmetic/Nuc2.asm
- A constant = 0
-
- FCALL -- Toolbox/tool.txt
- As for CALL, except must be used for low level File Manager
- toolbox calls. Will properly setup A0 befor the call
- and return D0 (the result). See IM II-98. Note also that
- the returned result will always be a long, regardless of
- the information in IM, so the stack need not be realigned
- after this call. See example use in file event.
-
- FCON flt -- : name FloatingPoint/Nuc2.asm
- Fp analog of constant.
-
- FCONV? addr len -- flt T | -- F FloatingPoint/floating point
- Converts the passed-in ASCII string to floating, if possible. I like
- this name better than ATOF which Neon had, but change it back if you
- want to.
-
- FDOS$ -- : trap# Toolbox/Base
- Compiles a toolbox trap for I/O if the Tools module is not loaded. The
- new syntax is, e.g.trap$ fdos$ A000
-
- FDRECT -- obj system/Nuc.asm
- A value. Unused?
-
- FDROP flt -- FloatingPoint/floating point
-
- FDUP flt -- flt flt FloatingPoint/floating point
-
- fence -- addr Compiler/Nuc.asm
- A value. Leaves the address below which forget will not operate.
-
- fEvent -- obj Events/Event
- The standard Mops event object. This event is the default (and should
- be the only) Event object used by Mops. Actually defined in Nuc.asm, it
- is set to class fevent in file events.
-
- FFA class -- ffa OOPprimitive/Class
- Given a pointer to a class, returns the flag field address.
-
- fFcb -- obj files/Nuc2.asm
- An object pointer that is set to class file in Files.
-
- FILE -- : name Files/Files
- A standard class. Used to call Toolbox file routines, has 138 bytes for
- a file control block.
-
- FILE-INSTALL fcb ftype signature -- Files/base
- Set file type and signature.
-
- FILE-MARK -- -300 Files/Files
- A constant. Marks the start of a loaded file - we plant some useful
- info there. We put the file name in the dic as if it's a definition
- name, but use file-mark as a "handler code". Then after that we put the
- useful info. See file extrasMod.
-
- FILL addr n c -- Memory/Nuc2.asm
- Beginning at address, fills n bytes with given 8-bit value c.
-
- FIND str-addr -- xt flag | -- F Compiler/Nuc2.asm
- Forth-83/ANSI standard. As in Neon, calls the vectored uFind first,
- then simply returns if uFind returns a non-zero n. In all cases, if the
- search succeeds, addr' is the xt of the found dictionary entry, and n
- is -1 for a non-immediate word and 1 for an immediate word. If the
- search fails, n is zero and addr' is the same as str-addr.
-
- FIND-WINDOW Tpoint -- region ^window Events/Nuc2.asm
- Calls the Window Manager routine FindWindow to find the window in which
- a mouse-down event occurred at Tpoint, a Toolbox point in global
- coordinates. Leaves the region of the window in which the mouse-down
- occurred and ^window, the pointer to the window object's private data.
-
- FINDM selID classl -- offs xt OOPprimitive/Class
- Finds a method in a class.
-
- FINFO -- addr /Nuc2.asm
- NOTE: This is only valid for systems where no AppleEvents are
- available. Therefore if they are available, we return a nil pointer.
- Leaves a relative pointer to the Finder information area. The following
- code will scan the information block, and print the Vref#, file type,
- version and file name for each file passed by the Finder.
-
- FLOAT> flt -- n FloatingPoint/floating point
- Converts the float to an integer. Rounds.
-
- FNEGATE flt -- -flt FloatingPoint/floating point
-
- FNF -- -43 Files/Files
- A constant. Mac File Manager result code fnfErr. File not found.
-
- FOR limit -- ControlStructures/Nuc2.asm
- Marks beginning of a FOR ... NEXT loop. These are simple loops that
- have less overhead than DO loops. The loop index i counts down from
- limit-1 to zero. The initial limit must be less than 64K. Uses a DBRA
- loop instruction for speed. You can't LEAVE a FOR ... NEXT loop.
-
- FORGET -- : word Compiler/Nuc2.asm
- Deletes the word from the dictionary and ALL entries above it (i.e., in
- higher memory). Issues message "in protected dictionary" if the word is
- below fence, and aborts.
-
- FORWARD -- : name Compiler/base
- Creates a word which is to be defined later with :f, the special colon
- compiler for forward-referenced Mops words, because :f makes the word
- behave like a colon definition.
-
- FOVER flt1 flt2 -- flt1 flt2 flt1 FloatingPoint/floating point
-
-
- FPRECT -- obj system/Nuc.asm
- A value. This leaves a system object of class rectangle used in
- calculation for scrolling fWind.
-
- FPU? -- n FloatingPoint/Nuc2.asm
- A value. Set by a _Gestalt call in the startup code to the FPU status.
-
- FREE -- System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- FREEBLK -- System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- FVALUE flt -- : name FloatingPoint/Nuc2.asm
- Fp analog of value, can use prefix operators.
-
- FWIND -- obj system/Nuc2.asm
- The Mops console window, class window.
-
- FWIND? -- b system/Nuc2.asm
- A value. True if we're using fWind. Used to control which
- interface Mops will use upon startup. Set to true or false
- for the old(true) or new(false) interface, save the Mops
- dictionary, and the corresponding interface will be in effect
- at next launch.
-
- FWINDACTIVE? -- b system/ObjInit
- A value. True if fWind is the front, active window.
-
- G->L point -- point' Quickdraw/Event
- Convert a global point to a local point.
-
- GENERAL -- OOP/Class
- Optional class declaration that will allow late binding when this class
- is used as an ivar. But note that GENERAL classes may not be used to
- map ivars to Mac toolbox calls because the class header information
- will be included. INDEXED classes are automatically GENERAL.
-
- GestaltAvail? -- b System/Nuc2.asm
- A value. Set True by the startup code if the Gestalt trap is available.
-
- GETDIRID -- dirID Files/Files
- Returns the dirID of the last directory opened by a standard file call.
- This is merely the contents of the Mac global variable CurDirStore.
-
- GETDLEN obj -- n OOPprimitive/Class
- Gets length of object's named ivars.
-
- GETHSZ -- n System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- GETRES type resID -- handle Resources/base
- Calls GetResource.
-
- GETSPACE -- System/Nuc.asm
- A system vector.
-
- GETSTRING id -- addr len Resources/Base
- Gets the string from the mops.rsrc file with the given resource ID.
-
- GLOBAL -- addr : globalname ToolBox/tool.txt
- When followed by the name of a Mac system global variable, leaves the
- memory location. Example: global ticks @ returns the number of ticks
- since system startup.
-
- GOTOXY x y -- QuickDraw/Nuc2.asm
- Calls toolbox MoveTo.
-
- GOTPARMS? -- rc Events/Nuc2.asm
- This can be called at the end of a handler, to check if we got all the
- parameters.
-
- GRAPHPORT -- : name Quickdraw/QD
- A standard class. Used to map into the QuickDraw GraphPort record. But
- note that most record members are not named.
-
- HANDLE -- : name OOP/Struct
- A standard class.
-
- HANDLEARRAY #elems -- : name OOP/Struct
- A standard class. HANDLEARRAY and HANDLELIST are for the implementation
- of collections of heap-based objects. HandleArray has normal array
- properties. Use HandleList if the number of elements may grow
- arbitrarily large, and if indexing isn't so important. HandleArray also
- includes methods to allow the array to be used as a stack - needed for
- FileList.
-
- HANDLELIST #elems -- : name OOP/Struct
- A standard class. HANDLELIST allows the implementation of a list of
- heap-based objects. Unlike HANDLEARRAY, the list can be of indefinite
- length. We use a heap block to store the handles to the objects
- contiguously, rather than have a separate block for each handle and
- link them together. This saves on memory overhead and reduces the
- number of memory manager calls. It also reflects the assumption that
- insertions and deletions into the middle of the list will be
- infrequent, as these could be more inefficient than with a linked
- scheme. We expect that elements will normally be added to the end, and
- probably not removed at all, or not very often.
-
- HASH str255 -- n Compiler/Nuc2.asm
- Hashes the str255 format string into a 32-bit hash value. Names of
- selectors and instance variables are hashed to conserve space.
-
- HEADROOM -- n Compiler/Nuc2.asm
- Returns the number of bytes still available in the dictionary below the
- upper HiBase (A4) addressing limit. Code will be a little less
- efficient above this limit.
-
- HERE -- addr Compiler/Nuc2.asm
- Returns the next available dictionary location.
-
- HEX -- Arithmetic/Nuc2.asm
- Sets base to 16.
-
- HFS? -- b Files /Files
- Returns true if using the Mac Hierarchical File System (Inspects the
- global variable FSFCBLen).
-
- HGetSt -- state System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- HIDE -- Compiler/Nuc2.asm
- Replace Smudge in Neon. HIDE hides the last dictionary header so that
- FIND won't find it. REVEAL brings it back again. Use this if you want
- the previous use of the name, i.e. if you DON'T want recursion.
-
- HidePen -- Quickdraw/QD
- A direct call to HidePen.
-
- HL-EVT -- false Events/Event
- An action word for fevent. Handles High-level events. Several vects are
- involved.
-
- HLD -- addr System/Nuc2.asm
- This value is the address of the latest Hold character during numeric
- output conversion.
-
- HLEventVEC -- Events/Event
- A vect. Called for generic high-level events. Default is vfalse.
-
- HOLD c -- NumericConversion/Nuc2.asm
- Inserts the character into a string being built by a <# ... #>
- sequence. standard
-
- HOME -- Console/Nuc2.asm
- Moves the cursor to the upper left corner of the current window.
-
- HSetSt state -- System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- HWPavail? -- b System/Nuc2.asm
- A value. Set True by the startup code if the HWPriv trap is available.
-
- I -- n ControlStructures/Nuc2.asm
- We keep the loop index I in D3, but the return stack is entirely in
- memory so that words can be called simply with BSR/JSR. This means that
- I can be used in words called from within DO loops. In fact I can be
- used as another local variable.
-
- I->L 16-bit-number -- 32-bit-number Toolbox/Nuc2.asm
- Converts the 16-bit half-cell on top of stack into a full 32-bit Mops
- cell, extending the sign bit. i->l is useful in handling the result
- from Macintosh ROM routines that return a 16-bit signed integer on the
- stack. i->l differs from Extend in that i->l pushes two bytes onto the
- stack while extending the sign, whereas extend only extends the sign of
- a 16-bit integer contained in the 32-bit cell on top of stack,
- converting it into a 32-bit signed integer. Word0, a related word,
- pushes two zero bytes onto the stack.
-
- I/O_ERR err# -- Errors/base
- A forward definition to be called when there is an io error.
-
- IBEAMCURS -- Quickdraw/QD
- Sets the cursor to this.
-
- IDXBASE -- addr Oop/Nuc2.asm
- Returns the address of the beginning of the data for an indexed
- object's indexed data area. Only use in a class definition.
-
- IF ? -- ControlStructures/Nuc2.asm
- Marks the beginning of an IF... THEN or IF ... ELSE ... THEN program
- flow sequence.
-
- IFA class -- ifa OOPprimitive/Class
- Given a pointer to a class, returns the ivar field address.
-
- IMMEDIATE -- Compiler/Nuc2.asm
- standard
-
- INDEXED n -- OOP/Class
- Sets a class and its subclasses to indexed, of element byte width n.
- Used after the superclass declaration list when defining a new class.
- Note that when instantiating an indexed class, you MUST precede the
- instance name with the number of elements you wish that instance to
- have. Also note that all indexed classes are automatically declared to
- be GENERAL, so you may not used indexed classes to map into toolbox
- calls. Also, n must be < 32K (see LARGE).
-
- INDEXED-OBJ -- : name OOP/Struct
- A standard class. Class INDEXED-OBJ is the generic superclass for all
- arrays. Here we define the general indexed methods, which apply
- regardless of indexed width.
-
- INFRONT -- -1 Windows/Window
- A constant.
-
- INITFONT -- System/Window
- Initializes text characteristics.
-
- INITFW -- System/Nuc1.asm
- Initializes the default window fWind.
-
- INITZED? -- b system/Nuc2.asm
- Set True by the startup code, to indicate that the normal startup
- initialization has been done. Can be inspected after a bomb box restart
- to determine if this is an initial startup or not. A value.
-
- INIT_ACTIONS -- FrontEnd/Struct
- A system object, of class x-col, with 8 elements. Any special run-time
- initialization can be done conveniently by adding the appropriate words
- to the x-col INIT_ACTIONS. These words will be executed on startup via
- EXTRA_INITS, right after OBJINIT.
-
- INLINE{ -- : word ... } Compiler/args
- Commences a piece of inline code. Allows faster execution. We assume
- that inline code chunks will be fairly short, and are to be optimized
- for speed.
-
- INLMK -- $4AFC System/Nuc2.asm
- A constant.
-
- InMainDic -- 0 Compiler/base
- A relocatable address type.
-
- InOtherMod -- 1 Compiler/base
- A relocatable address type.
-
- INSTEAD c-old c-new -- Strings/StrUtilities
- May be used just after a SCON is defined. Within the SCON, it replaces
- any occurrences of c-old with c-new. This operation is useful for
- creating SCONs containing special characters such as tab.
-
- INSTLD? -- b system/Nuc2.asm
- A value. Set True if an installed application is running. Can be
- useful. Very useful.
-
- INT -- : NAME OOP/Struct
- The standard integer class. See also UINT.
-
- INTERPRET -- System/Nuc1.asm
- INTERPRET is the interpretation loop. Words from the input stream are
- interpreted until the input is exhausted.
-
- InThisMod -- 2 Compiler/base
- A relocatable address type.
-
- INTRP1 -- : word Compiler/Nuc2.asm
- Interprets one word/number from the input stream.
-
- INVERT ( x1 -- x2 ) Core/Nuc2.asm
- Invert all bits of x1, giving its logical inverse x2.
-
- IOWAIT -- Files/Files
- Repeatedly calls busy and pause, will exit if busy returns false.
-
- IS{ 240 index -- index here 240 Controlstructures/Modules
- Used in a select{ construct.
-
- IVFINDM selID ^ivar -- offs xt OOPprimitive/Class
- Looks for a method in
-
- IX -- ifa OOPprimitive/Class
- Called from within an inline method. Compiles code to generate the
- indexed address.
-
- J -- n ControlStructures/Nuc2.asm
- Index value for the next outer DO ... LOOP control structure.
-
- K -- n ControlStructures/Nuc2.asm
- Index value for the 2nd outer DO ... LOOP control structure.
-
- KEY -- c Events /Nuc.asm
- A system vector. The action of key is normally (key). (key!) is used to
- set the default action for key.
-
- KEY! -- Events/Nuc.asm
- A system vector.
-
- KEY-EVT -- keywd modswd T | -- F Events/Event
- An action word for fevent. Gets key value if true. Handles command-key
- menu actions. Does not handle "normal" key actions, that is up to your
- code.
-
- KILLH -- System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- KILLP -- System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- KONST -- n : konstName ToolBox/tool.txt
- Returns a Mac system constant. For example, konst kAEQuitApplication
- will return the event id 'quit' on the stack.
-
- L->G point -- point' Quickdraw/Event
- Convert a local point to a global point.
-
- LARGE -- OOP/Class
- Sets the "large" option on an indexed class, allowing the number of
- elements to be greater than 32K.
-
- latest -- nfa-1 Compiler/Nuc.asm
- A value. Leaves the nfa-1 of the last defined word.
-
- LEAVE -- ControlStructures/Nuc2.asm
- There is also a change to LEAVE, which is now a "leaping LEAVE". When
- LEAVE is executed, it now causes the loop to be left immediately,
- rather than waiting until the next time LOOP is encountered.
-
- LENGTH: -- len OOP/Class
- A method. Gets total length of object. Length will include class header
- information only if class is of type GENERAL. Otherwise, length is
- merely the length of the ivar data field(s).
-
- LIMIT -- n Oop/Nuc2.asm
- Returns the maximum numbr of elements in an indexed class. Only used in
- a class definition.
-
- Line dh dv -- Quickdraw/QD
- A direct call to Line.
-
- LineTo h v -- Quickdraw/QD
- A direct call to LineTo.
-
- LIT n -- Compiler/Base
- A state-smart version of LITERAL. Corresponds to LITERAL in Fig-Forth
- or original Neon, whereas our present LITERAL is Forth-83.
-
- LITERAL n -- System/Nuc2.asm
- standard
-
- LITW n -- Compiler/Base
-
-
- LN flt1 -- flt2 FloatingPoint/floating point
- Computes the natural logarithm.
-
- LN(10) -- flt FloatingPoint/floating point
- An fcon. Returns the natural logarithm of 10, 2.302...
-
- LN1 flt1 -- flt2 FloatingPoint/floating point
- ln(1+x)
-
- LOCAL -- : name { parm1 parm2 \ loc1 loc2 } Memory/args
- Begins definition of a local section. Within a local section, all words
- have access to the parms/locals.
-
- LOG flt1 -- flt2 FloatingPoint/floating point
- Log base 10 of given float.
-
- LOG2 flt1 -- flt2 FloatingPoint/floating point
- Computes the base 2 logarithm.
-
- LOG21 flt1 -- flt2 FloatingPoint/floating point
- log2(1+x). I don't think LOG21 is a very helpful name (pure
- computerese), but I guess we're stuck with it.
-
- LOK -- System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- LONGWORD -- : name OOP/Struct
- A standard class. Generic superclass for var, handle etc.
-
- LOOP -- ControlStructures/Nuc2.asm
- Marks end of DO ... LOOP structure.
-
- MAKEINT 32-bit-num -- 16-bit-num Toolbox/Nuc2.asm
- Drops the higher 16 bits of the number on top of the stack. This is
- handy in Toolbox calls that require an Int value.
-
- MAX n1 n2 -- max Arithmetic/Nuc2.asm
-
- MAXDIC -- n Compiler/Nuc2.asm
- A value used by the startup code - set to the value specified for the
- dictionary size in the Install dialog.
-
- MBADDR -- addr Menus/Event
- We store our menubar reference here.
-
- MBAR -- : name Menus/Menu
- A standard class. The Mops class for handling the menubar, contains an
- array of up to 10 menu objects. The default Mops mbar object is
- menubar, which is stored in the dicaddr object MBaddr.
-
- MENU -- : name Menus/MenuMod.txt
- A standard class, subclass of x-array. The Mops object oriented
- approach to handling menus.
-
- MENUBAR -- obj Menus/Menu
- Our default mbar object, stored in MBaddr.
-
- META -- class OOPprimitive/Class
- META is the super class of Object - top of all inheritance.
-
- MFA class -- mfa OOPprimitive/Class
- Given a pointer to a class, returns the methods field address.
-
- MIN n1 n2 -- min Arithmetic/Nuc2.asm
-
- MINHEAP -- n Compiler/Nuc2.asm
- A value used by the startup code - set to the value specified for the
- heap size in the Install dialog.
-
- MLOCAL -- : name { parm1 parm2 \ loc1 loc2 } Memory/args
- Starts a local section for methods. See local.
-
- MOD n1 n2 -- rem Arithmetic/Nuc2.asm
- Leaves remainder of division of n1 by n2.
-
- MOUSE -- : name Events/Event
- A system class for dealing eith the mouse and events. Our Mops mouse
- object is theMouse.
-
- MOUSE-EVT -- false Events/Event
- An action word for fevent. Handles mouse events.
-
- MouseMoved -- Events/Event
- A vect. Called for mouse moved.
-
- MOVE src dest cnt -- Memory/Nuc2.asm
- As for CMOVE, but n may be anything. Implemented by calling the system
- BlockMove trap. This gives optimized handling of longer moves (n > 20
- say). Also accounts for situations where the source and destination
- areas overlap. If you want byte propagation effects, use CMOVE instead.
- But what would you want this for, anyway, since we have FILL?
-
- MOVEPEN dv dh -- Quickdraw/QD
- A direct call to Move.
-
- MoveTo h v -- Quickdraw/QD
- A direct call to MoveTo.
-
- MROPEN? -- b System/Nuc2.asm
- A value. True if the file mops.rsrc was successfully opened.
-
- MSELECT point -- item# menuID Menus/Menu
- Calls menu manager MenuSelect to track a menu selection.
-
- MSG# -- : lit Errors/base
- Displays given string number (a literal) from the mops.rsrc file,
- preceded by "Msg# ..."
-
- MvHHi -- b System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- MWORD -- addr Lowstrings/Nuc2.asm
- "Mops word". Called by DEFINED? which is called by INTERPRET. Calls
- WORD with a blank as delimiter, and converts the string to upper case.
- Leaves counted string at addr (will be HERE).
-
- MyDoc -- addr len Frontend/Files
- Front end support for loading files.
-
- MyDocName -- str255 Frontend/Files
- A variable with 28 bytes allotted.
-
- N>COUNT nfa -- addr len Compiler/Nuc2.asm
- Leaves the address and length of a name field, suitable for use by
- "type".
-
- NAME? addr -- addr b Compiler/Nuc2.asm
- Returns True if the passed-in addr appears to be a xt with a
- corresponding valid name field.
-
- NEED -- : filename System/Extrasmod.txt
- Will load the named file, if the file is in our path definition. Put
- NEED XXX at the start of a file that requires XXX to be already loaded.
- If the word XXX is not defined, a file of that name is loaded. Note
- that only one blank or tab is allowed between NEED and the filename.
- This is because we use WORD" to read the filename, so that names with
- embedded blanks are allowed.
-
- NEG> -- : word Arithmetic /args
- A prefix operator. Negates. Use for values, local variables, named
- input parameters. Also works for floats.
-
- NEGATE n -- -n Arithmetic/Nuc2.asm
- Changes the sign of n.
-
- NEWH n -- b System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- NEWP n ^ptr -- b System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- NEWVECS -- System/Frontend
- Sets various system vectors to be compatible with the new Mops
- interface. See OLDVECS.
-
- NEXT -- ControlStructures/Nuc2.asm
- Marks end of a FOR ... NEXT loop. See FOR.
-
- NEXTEVENT ^event mask -- b Events/Nuc2.asm
- We call WaitNextEvent if it's available, otherwise GetNextEvent.
-
- NEXT_TASK -- Events/Event
- A vect. If multitasking is installed, this will be redirected to do a
- task switch.
-
- NIF ? -- Controlstructures/Nuc2.asm
- Like IF except execution occurs when ? is zero.
-
- NILH -- $FFA00101 Memory/Nuc2.asm
- A constant. The value we use for a nil handle.
-
- NILP -- $FFA00103 Memory/Nuc2.asm
- A constant. The value we use for a nil pointer.
-
- NIP n1 n2 -- n2 Stack/Nuc2.asm
- Removes stack item just under top.
-
- NOMEM -- Errors/base
- A forward definition to be called when (not if!) we run out of memory.
-
- NOT b -- -b Arithmetic/Nuc2.asm
- Reverses the sense of a boolean.
-
- NOT> -- : word Arithmetic /args
- A prefix operator. Logically nots. Use for values, local variables,
- named input parameters. Not for floats.
-
- NPTR -- ptr System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- NULL -- System/Nuc2.asm
- A word that does nothing.
-
- NULL-EVT -- false Events/Event
- An action word for fevent. Will send late bound idle: to the actW, if
- it is non-zero.
-
- NULLOSSTR -- xt System/Base
- Null OS string. Can be used in toolbox calls that require a Str255
- data type that is null. For example, the title for a scrollbar.
-
- NUM? addr -- n true | -- false Console/Nuc2.asm
-
- NumAccumulate -- Arithmetice/Nuc.asm
- File LongMath revectors numAccumulate to give a genuine double result
- for words like >NUMBER. A system vector.
-
- NUMBER $ptr -- n Console/Nuc2.asm
- Attempts to convert the text at $ptr (a str255) to a number. If
- successful leaves the number on the stack, otherwise aborts.
-
- NUNTIL ? -- ControlStructures/Nuc2.asm
- Similar to until. Stop if ? is-zero.
-
- NWHILE ? -- ControlStructures/Nuc2.asm
- Similar to while. Continue if ? is zero.
-
- OBJ -- obj OOPprimitive/Class
- Called from within an inline method. Passes the object's base and
- displacement to Handlers to generate the correct address. Optimization
- will then apply.
-
- OBJ? obj? -- obj? class | -- obj? 0 Compiler/Nuc2.asm
- General test for an object. Not completely rigorous, so we shouldn't
- use it in a TRAV, but pretty good nevertheless. If it is an object, the
- class is left in theClass. We do assume the passed-in value may not be
- a legal address at all.
-
- OBJECT -- class OOP/Class
- The root class of all classes. Only used as a declared superclass when
- defining a new class. Note that class object has the pre-defined
- methods class:, .id:, .class:, addr:, length:, copyto:, classinit:,
- release:, dump:, and print:. So ALL objects possess these methods. Some
- of these methods do nothing, for class object.
-
- ObjFindM selID obj -- obj' xt Compiler/Nuc2.asm
- Finds a method's xt given a sel ID and an obj addr. Updates the
- object's address if necessary - this will happen if the method turns
- out to belong to a superclass with a non-zero offset in the object -
- i.e. an embedded object.
-
- OBJHANDLE -- : name OOP/Struct
- A standard class. An OBJHANDLE is a handle that points to an object in
- the heap.
-
- OBJINIT -- System/Nuc.asm
- A system vector. Normally contains sysinit, defined in file Objinit.
-
- OBJLEN -- n Oopprimitive/Class
- Computes total data length of current object.
-
- OBJPTR -- : name OOP/Nuc2.asm
- An object pointer is a "low-level" entity, rather like a value. The
- syntax for object pointers is: objPtr anObjptr class_is theClass
-
- OBJxt? xt -- xt b Compiler/Nuc2.asm
- Returns true if the xt refers to a dictionary object. Note: this won't
- work for a heap object, since we rely on the unique handler code for
- objects being there, and it won't be for heap objects. But this is the
- only way to get a really rigorous check, which we need for TRAV. We
- assume xt is really a xt.
-
- OBJ_ARRAY #elems -- : name OOP/Struct
- A standard class. OBJ_ARRAY is a generic superclass which makes it easy
- to generate an array of objects of a given class. Just define a new
- class which multiply inherits from the given class (or classes) and
- OBJ_ARRAY (which must come last). This will add an indexed section to
- each object of the new class, with elements wide enough to contain
- objects of the original class. Then SELECT: "switches in" the selected
- element to be the "current" element, and all the normal methods of the
- class can then be used. Note the use of"32767 indexed" in the class
- definition.
-
- OF n1 n2 -- | n1 ControlStructures/base
- Use within a CASE structure. Yields n1 and jumps to beyond next ENDOF
- if no match.
-
- OK -- Compiler/Nuc2.asm
- Prints the Mops prompt, commonly 0->.
-
- OK? rc -- Files/base
- A useful word to use after an I/O operation.
-
- OLDVECS -- System/Frontend
- Sets various system vectors to be compatible with the old Mops
- interface. See NEWVECS.
-
- OpenAppVec -- code True | -- False Events/Nuc.asm
- As set up in Mops, OpenAppVec simply returns False and does nothing
- else.
-
- OpenDocVec -- code True | -- False Events/Nuc.asm
- OpenDocVec finds the number of files in the given list of files, and
- puts the number in the value #DocsToOpen. It then handles each file in
- the given list fFcb, then calling the sufficient for your appropriately.
-
- OPENMR -- Resources/Base
- open the Mops system resource file (mops.rsrc) if necessary.
-
- OpenResFile addr len -- Resources/Base
- Opens named resource file.
-
- OPT? -- b System/Nuc2.asm
- A value. Disables optimization if set False. Normally True. Set it
- False if you have an obscure bug, to check if the optimization is
- generating invalid code.
-
- OR n1 n2 -- or Arithmetic/Nuc2.asm
-
- OR> n -- : word Arithmetic /args
- A prefix operator. Logically ors with n. Use for values, local
- variables, named input parameters. Not for floats.
-
- ORDERED-COL #elems -- : name OOP/Struct
- A standard class. Ordered-Collection is a collection of 4-byte cells. A
- subclass of (col) and array.
-
- OS-EVT -- false Events/Event
- An action word for fevent. Handles operating system events by calling
- various vects.
-
- OVER n1 n2 -- n1 n2 n1 Stack/Nuc2.asm
- Same as 1 pick.
-
- PACK x y -- x:y Toolbox/Nuc2.asm
- Packs two 32-bit numbers into one 32-bit number. Only the lower 16 bits
- of x and y are used. You can use pack to convert a coordinate point
- into a Toolbox-compatible point.
-
- PAD -- addr system/Nuc2.asm
- Leaves the address of the text output buffer, a temporary area of
- memory of 256 bytes. Mops uses PAD to hold information (text, numbers)
- for intermediate processing. You may use it to the same end, but be
- aware that output words like emit and type may interfere by using pad
- as well.
-
- PARSE-DLM-STR addr1 addr2 len -- b Lowstrings/Nuc2.asm
- Scans the source for a string delimited at the start and end by c.
- Everything is skipped before the first delimiter. If the source gets
- exhausted in the process, QUERY is called to get more.
-
- PARSE-SRC c -- addr len Lowstrings/Nuc2.asm
- Scans the source for delimiter c. Returns the addr and len of the
- parsed string, and updates the source.
-
- PARSE-SRC-WORD c -- addr len LowStrings/Nuc2.asm
- As for PARSE-SRC, but any consecutive initialdelimiters are skipped. If
- the input is exhausted in the process, QUERY is called to get more.
-
- PARSE-WORD c -- addr len LowStrings/Nuc2.asm
- Skip leading spaces and parse name delimited by a space. As for PARSE,
- but skips leading delimiters. If the input is exhausted in the process,
- REFILL is called to get more.
-
- PATCHES_DONE -- Compiler/Nuc2.asm
- If you ever need to patch instructions, call this when you're finished.
- It flushes the instruction cache if necessary to make sure that the new
- instructions will really be executed. PATCH and (PATCH) call it
- already, so if you are using these, you don't need to call Patches_done.
-
- PATTERN -- : name Quickdraw/QD
- A system class, subclass of resource.
-
- PAUSE -- Events/Nuc.asm
- A system vector, normally contains (pause), defined in file Frontend.
- PAUSE should be called at strategic intervals in all applications,
- unless Key is being called frequently. Pause normally calls next:
- fEvent which allows a task switch to be done under MultiFinder, and
- which also handles any pending events for this task, such as window
- updates. Remember to disable any menus etc. that you don't want to
- execute in this situation! Unexpected re-entrancy is a good way to bomb!
-
- PCRVEC -- System/Nuc2.asm
- This system vector is the execution vector for pcr. When Mops starts
- up, pcrvec is vectored to null, Mops's "do-nothing" word. +print
- vectors pcrvec to pcr so that you or Mops can send a carriage return
- and linefeed to the printer.
-
- PEMITVEC -- System/Nuc2.asm
- This system vector is the execution vector for pemit. When Mops starts
- up, pemitvec is vectored to drop. +print vectors pemitvec to pemit so
- that you or Mops can send a character to the printer.
-
- PI -- flt FloatingPoint/floating point
- An fcon. Returns 3.1415...
-
- PICK ... idx -- ... n Stack/Nuc2.asm
- Given a zero-based index into the stack, will copy the requested cell
- to the top of the stack. Stack depth increases by one. 0 pick is
- equivalent to dup.
-
- PLACE addr1 len addr2 -- Lowstrings/Nuc2.asm
- Converts string ( addr1 len ) to a counted string at addr2. Appends a
- zero byte.
-
- PLUSCURS -- Quickdraw/QD
- Sets the cursor to this.
-
- POINT -- : name Quickdraw/QD
- A standard class for dealing with QuickDraw points. Note that Mops
- prefers to treat all points and operations with points as 2 items on
- the stack, rather than a single packed 32-bit number.
-
- POPPORT GrafPtr -- Quickdraw/QD
- Calls SetPort.
-
- POSTPONE -- Compiler/Nuc2.asm
- In this system, compilation is done by executing the compilation
- handler for the word in question. POSTPONE must therefore be immediate,
- and compile the right code into the client definition. This code
- consists of a literal push of the POSTPONEd word's xt, then a call to
- (COMP).
-
- PRINT: -- OOP/Class
- A method. Use to display a class, default is just a DUMP:.
-
- PrintDocVec -- code True | -- False Events/Nuc.asm
- As set up, Read1DocVec assumes the file is a Mops dictionary.
- Read1DocVec must point to a routine which will read the file designated
- by the file object fFcb, close it, and return a result on the stack.
- True indicates the OpenDocVec loop can continue. False means the loop
- must terminate. You could return False, for example, on an error, or
- simply if your application can't accept more than one document open at
- a time.
-
- PRIVATE -- OOP/Class
- Use within a class definition. Makes the following methods private—that
- is, they will be accessible from within this class or any of its
- subclasses, but not from anywhere else. The criterion is simply that a
- call to Self of Super may access a private method, but nothing else
- can. Note that for this reason you can't late-bind to a private method,
- even if you do it from within the class itself.
-
- PROCESSOR -- n System/Nuc2.asm
- A value. Set by a _Gestalt call in the startup code to the number
- corresponding to the processor we are running on.
-
- PROMPT? -- b Console/Frontend
- A value. If true the Mops prompt ( e.g. 0->) will be displayed after
- interpretation in the new Mops interface.
-
- PSPVEC n -- Console/Nuc2.asm
- Printer spaces vect. A system vect that might be used to send n
- spaces to the printer if +print has been executed. It currently
- does nothing.
-
- PTR -- : name OOP/Struct
- A standard class. For toolbox pointers.
-
- PTYPEVEC addr len -- System/Nuc2.asm
- This is the execution vector for ptype. When Mops starts up, typevec is
- vectored to 2drop, so that it does nothing. +print vectors ptype to
- ptypevec, so you can send a string to the printer.
-
- PUBLIC -- OOP/Class
- Makes the following methods public—that is, they will be accessible
- from anywhere. PRIVATE and PUBLIC may be used any number of times
- within the one class definition. Methods are initially public when a
- class compilation starts.
-
- PUSHPORT -- GrafPtr Quickdraw/QD
- Pushes the current Graphport onto the stack as a GrafPtr. Calls GetPort.
-
- QUERY -- System/Nuc2.asm
- A system vector. Inputs up to 128 characters from the keyboard until a
- carriage is typed. Query puts the acquired text at the address TIB and
- sets the value IN to zero.
-
- QUIT -- Compiler/Nuc2.asm
- standard
-
- QuitAppVec -- code True | -- False Events/Nuc.asm
- The current setting for QuitAppVec is simply to call BYE. Your
- application will probably want to do something a bit more intelligent.
-
- QUITVEC -- System/Nuc.asm
- A system vector. Called by QUIT. When OLDVECS are in effect, QUTVEC is set
- to 0 and so does nothing. When NEWVECS are in effect (the new Mops interface),
- QUITVEC is used to allow re-entry into EVENTLOOP with the new interface.
-
- R -- n Stack/Nuc2.asm
- Copies the top return stack value to the stack.
-
- R> -- n Stack/Nuc2.asm
- Pops the top return stack value to the stack.
-
- R@ -- n Stack/Nuc2.asm
-
- RA? addr -- b Compiler/Nuc2.asm
- Returns True if the addr looks like a return address.
-
- RAD2DEG flt1 -- flt2 FloatingPoint/floating point
- Converts radians to degrees.
-
- RANDOM n -- rand*n Arithmetic/QD
- Returns a random number from 0 to n-1 inclusive. n is limited to an Int
- value. Larger than that means that numbers will be poorly distributed.
- Uses the Toolbox call Random, but is not the same.
-
- RANGEOF val lo hi -- ControlStructures/base
- Use in place of an OF in a CASE structure. Provides conditional
- execution if val is within range lo to hi inclusive.
-
- RANGE], val lo hi -- ControlStructures/casemod.txt
- Use in a CASE[ structure. Will OR this condition with any other
- condition like [ x ], and [ y ]=>
-
- RANGE]=> val lo hi -- ControlStructures/casemod.txt
- Use in a CASE[ structure.
-
- RANGE_ERR index range rtn-addr -- Errors/base
- Action word for system vector rngErr.
-
- RDEPTH -- #cells ReturnStack/base
- Leaves the number of cells occupied on the return stack. You may find
- rdepth useful in debugging your programs.
-
- Read1DocVec -- code True | -- False Events/Nuc.asm
- As set up, Read1DocVec assumes the file is a Mops dictionary.
- Read1DocVec must point to a routine which will read the file designated
- by the file object fFcb, close it, and return a result on the stack.
- True indicates the OpenDocVec loop can continue. False means the loop
- must terminate. You could return False, for example, on an error, or
- simply if your application can't accept more than one document open at
- a time.
-
- RECT -- : name Quickdraw/QD
- A standard class for dealing with QuickDraw rectangles. Note that Mops
- prefers to treat rectangles, and all QuickDraw coordinates for that
- matter, in the form LEFT TOP RIGHT BOTTOM (l t r b), or x1 y1 x2 y2.
-
- RECURSE -- wherever/Compiles a call to the definition being compiled.
-
- REFILL -- flag Core/Nuc2.asm
- Attempt to refill the input buffer from the input source, retuning a true
- flag if successful.
-
- RELCNT -- n OOP/Struct
- A value. For testing - counts release: msgs sent to HANDLE objects to make
- sure we're releasing everything. Won't be valid if you override release:
-
- RELEASE: -- OOP/Class
- Our standard destructor method. Any objects that allocate heap storage
- will redefine this appropriately. Our convention is that an object will
- release ALL its storage when it gets a release: message. Other methods
- can be provided to partly release storage, as needed.
-
- RELOC! src dst -- Compiler/Nuc2.asm
- Converts the source address abs-addr to relocatable and stores it at
- the destination address dst. Checks that a module address is not being
- stored outside a module, a situation which can easily lead to a trouble
- when the address is used
-
- RELOC, abs-addr -- Compiler/Nuc2.asm
- Converts abs-addr to relocatable, and adds it to the dictionary.
-
- RelocType ^reloc-addr - n Compiler/Nuc2.asm
- Returns the relocation type of the given relocatable addr. 0 = main
- dic, 1 = in a module (a5-relative), 2 = in a module (self-relative).
-
- REPEAT -- ControlStructures/Nuc2.asm
- Standard. Marks bounds of BEGIN ... XXX ... REPEAT loop.
-
- RESERVE n -- Compiler/base
- Allotsthe next n bytes in the dictionary and erases them.
-
- RESOURCE -- : name OOP/Struct
- A standard class. Provides basic support for Toolbox resources.
-
- ResRefNum -- n Resources/Base
- A value. Used by OpenResFile as holding place for the resource file
- reference number for use by CloseResFile.
-
- RESTORE-INPUT x1...xn n -- Compiler/Base
- Restores the current position in the input stream.
-
- RESTPORT -- Windows/Window
- Restores the current GrafPort from the variable thePort via a call to
- SetPort.
-
- RESUME? -- b Events/Event
- A value. True if we've just received a Resume event.
-
- ResumeVec -- Events/Event
- A vect. Called for resume.
-
- RET -- 13 Strings/String
- A constant, returns ascii value of a carriage return character.
-
- REVEAL -- Compiler/Nuc2.asm
- Makes the current name visible again. See hide.
-
- RL -- Files/Extrasmod.txt
- Reload. Reloads last file loaded. First forgets down to last file mark.
- Development-only utility.
-
- RNDWIND -- 16 Windows/Window
- A constant.
-
- RNGERR -- System/Nuc.asm
- A system vector. Contains range_err, which is defined in file Base.
-
- ROOM -- n Compiler/Nuc2.asm
- Leaves the number of bytes left in the dictionary.
-
- ROT n1 n2 n3 -- n2 n3 n1 Stack/Nuc2.asm
-
- ROUND flt1 -- flt2 FloatingPoint/floating point
- Rounds the given float to the nearest integer by the normal rules. Of
- course we still have a float.
-
- RP! addr -- Stack/Nuc2.asm
- Stores addr into RP0.
-
- RP0 -- addr stack/Nuc2.asm
- A value. Contains the base address of the return stack.
-
- RP@ -- addr Stack/Nuc2.asm
- Returns the address of the top of the return stack before rp@ is
- executed.
-
- RSTA5 -- Compiler/Base
- Used for trap compilation. Used after a Toolbox trap call. Registers A6
- and A7 must be exchanged again and A5 set back.
-
- RSTKSPACE -- n System/Nuc2.asm
- A value. Used by the startup code to allocate space for the return
- stack. Initial value: 30000.
-
- run -- System/Frontend
- System startup word for the Mops development environment.
-
- S= addr1 len1 addr2 len2 -- b Strings/Nuc2.asm
- Case sensitive string comparison, true if equal.
-
- S>D ( n -- d ) Core/Nuc2.asm
- Convert the number n to the double-cell number d with the same numerical
- value. ANSII
-
- SAmask -- n memory/Nuc2.asm
- A value. If you need to call _StripAddress, don't bother, we've done it
- for you. Just use SAmask as a mask on the address as in SAmask and.
-
- SAVA5 -- Compiler/Base
- Used for trap compilation. Sets up for a Toolbox trap call. Registers
- A6 and A7 must be exchanged and A5 set properly.
-
- SAVE -- : filename System/Files
- Saves the Mops dictionary image to disk with the given filename.
-
- SAVE-INPUT -- x1...xn n Compiler/Base
- Saves the current position in the input stream.
-
- SaveActW -- wptr Events/Window
- Saves actW over Suspend-Resume.
-
- SAVEPORT -- Windows/Window
- Saves the current GrafPort in the variable thePort via a call to
- GetPort.
-
- SCAN addr len c -- addr' len' Lowstrings/Nuc2.asm
- May well be in the ANSI standard. Searches the string ( addr len ) for
- the character c. Leaves addr' the address of the found char, and len'
- the remaining string length. If not found, addr' will be one past the
- end of the string, and len' will be zero. Assumes len is less than 64K
- (only 16 bits significant). Class String+ provides a more complete
- character search in its chsearch: method, which has case handling and
- 32-bit length.
-
- SCAN-SRC c -- Lowstrings/Nuc2.asm
- Does a SCAN on the current source, and leaves the source descriptors
- (src-addr src-len) updated.
-
- SCON -- : name text Strings/base
- Defines a string constant. Change from Neon: the first nonblank char
- after the name of the SCON is the delimiter. So " can be used as usual,
- but anything else can be used instead, e.g.: scon <name> /string
- containing " as non-delimiter/
-
- SCREATE addr len -- Compiler/Nuc2.asm
- An interface to Create; takes an addr-len pair representing a string.
-
- SCREENBITS -- l t r b QuickDraw/Struct
- Gets dimension coordinates of host machine's display via the Mac global
- variable screenbits.
-
- SCROLL dh dv -- Console/Nuc2.asm
- Scrolls the current window by dh dv pixels. Uses fprect and ScrollRect.
-
- SELECT{ n -- Controlstructures/Modules
- SELECT{ defines a positional case construct - see Forth Dimensions vII
- p.51. It is smaller and faster than the equivalent CASE or CASE[ construct,
- as long as there are more than a couple of values. Values must be >= 0,
- and we give a warning if a value > 50 is used, which could well be a
- boo-boo. Note that a lookup table is constructed with 2 bytes for
- every value in the range of highest to lowest test values. So be
- careful when selcting test values. Also see CASE and CASE[.
- example use:
- ...
- SELECT{ x IS{ ... }END
- y IS{ ... }END
- DEFAULT{ ( DEFAULT{ is optional. Default actions go here, n is on the
- stack at this point, you can use it but you must put *something*
- back on the stack so }SELECT will have something to consume.)
- }SELECT ...
-
- SELF -- obj OOP/Nuc2.asm
- Object reference to self. Only used in a class definition. SELF is not
- necessarily the same as ^BASE, because of multiple inheritance.
-
- SEQUENCE #elems -- : name OOP/Struct
- A standard class. SEQUENCE is a generic superclass for classes which
- have multiple items which frequently need to be looked at in sequence.
- At present the main function of Sequence is to implement the EACH:
- method, which makes it very simple to deal with each element. Sequence
- can be multiply inherited with any class which implements the FIRST?:
- and NEXT?: methods. The actual implementation details are quite
- irrelevant, as long as these methods are supported.
-
- SET-FILE fcb -- Files/base
- Sets filename pointer in the FCB.
-
- SETFWIND -- System/Nuc.asm
- A system vector. Normally contains (sf), defined in file Objint.
-
- SETNAME fcb -- : filename Files/base
- Get filename from stream and set fcb.
-
- SET_APPL_NAME addr len -- Install/FEmod.txt
- Programmatically sets the application name to be used when installing.
-
- SET_APPL_SIG 4bytestring -- Install/FEmod.txt
- Programmatically sets the application signature to be used when installing.
-
- SET_APPL_VERS addr len -- Install/FEmod.txt
- Programmatically sets the version string to be used when installing.
-
- SET_CLASS obj theClass -- Oopprimitive/Class
- SET_CLASS is a utility word used to patch nucleus objects when their
- classes are defined in higher-level files. Actually it could be used to
- change the class of any object, if anyone is silly enough to want to do
- that.
-
- SET_TO_CLASS objptr -- : classname OOP/Class
- If you need to declare the object pointer before the class exists, use
- SET_TO_CLASS once the class is defined. :class SOMECLASS super{ object
- } ' someOP set_to_class someClass etc.
-
- SFA class -- sfa OOPprimitive/Class
- Given a pointer to a class, returns the superclass field address, which
- is an N-way pointer.
-
- SFDlgHook -- ^proc Files/Files
- A value. Used in std file calls. If non-zero, points to the proc to be
- called while the std file dialog is up.
-
- SFIND addr len -- addr' n Compiler/Nuc2.asm
- As for FIND, except that the string for matching is designated by addr
- and len.
-
- SFLOC -- x:y Files/Files
- Computes screen coordinates for top left of SF dialog box. Centers the
- box horizontally, and a bit above the center vertically. Returns
- coordinates as a packed 32-bit number.
-
- SFOBJ -- obj Files/Files
- A system object of class SFRec.
-
- SFrec -- : name Files/Files
- A standard class. Used to call Standard File Toolbox routines.
-
- SHDR addr len -- Compiler/Nuc2.asm
- Creates a header for the passed-in string.
-
- ShowPen -- Quickdraw/QD
- A direct call to ShowPen.
-
- SIGN n -- NumericConversion/Nuc2.asm
- standard
-
- SIN flt1 -- flt2 FloatingPoint/floating point
- Computes sine, given radians.
-
- SKIP addr len c -- addr' len' Lowstrings/Nuc2.asm
- Similar to SCAN, but searches for the first character not equal to c.
-
- SKIP-SRC c -- Lowstrings/Nuc2.asm
- Skips consecutive delimiters equal to c in the source.
-
- SKIP-SRC+ c -- Lowstrings/Nuc2.asm
- As for SKIP-SRC, but if a non-c character is not found, calls QUERY to
- get another source line. This word is called by PARSE-SRC-WORD which is
- called by WORD, and by doing things this way we can have xt lists etc.
- extending over multiple lines.
-
- SLEEPTICKS -- n Events/Nuc2.asm
- A value. Used in calls to WaitNextEvent. Default is 20 as set by file
- Frontend.
-
- SOURCE-ID -- 0 | -1 Compiler/Nuc2.asm
- A value. Identifies the input source as follows: SOURCE-ID Input source
- -1 String \(via EVALUATE \) 0 User input device.
-
- SP! addr -- Stack/Nuc2.asm
- Stores addr into SP0. So we can reset the stack with SP0 SP!
-
- SP0 -- addr stack/Nuc2.asm
- A value. Contains the base address of the stack.
-
- SP@ -- addr Stack/Nuc2.asm
- Returns the address of the top of the stack before sp@ is executed.
-
- SPACE -- Console/Nuc2.asm
- Emits an ascii blank (32).
-
- SPACES n -- Console/Nuc2.asm
- Emits n ascii blanks. Calls spvec and pspvec.
-
- SPVEC n -- Console/Nuc2.asm
- A system vector. Will be (SPACES) for fwind, or XSPS for the
- new Mops interface. Will display n spaces in the currrent window.
-
- SQRT flt -- sqrt FloatingPoint/floating point
- square root
-
- SRC-ADDR -- addr system/Nuc2.asm
- A value. The address of the current source text being interpreted.
-
- SRC-LEN -- n system/Nuc2.asm
- A value. The number of characters still unprocessed in the current
- source line.
-
- SRC-START -- addr system/Nuc2.asm
- A value. The starting address of the current source line. Used by WORD.
-
- SRCCOPY -- 0 Quickdraw/QD
- A constant, equate for drawing mode.
-
- SRCOR -- 1 Quickdraw/QD
- A constant, equate for drawing mode.
-
- SRCXOR -- 2 Quickdraw/QD
- A constant, equate for drawing mode.
-
- STATE -- compile-state Compiler/Nuc2.asm
- This value is the compilation state of the Mops interpreter. A non-zero
- value means that the definition of a word, method, or class is being
- compiled.
-
- STILLDOWN? -- b Events/Event
- A direct call to StillDown. Returns true if mouse button is still down.
-
- STKSPACE -- n System/Nuc2.asm
- A value. Used by the startup code to allocate space for the stack. Set
- from the Install dialog. Initial value: 30000.
-
- STR255 addr len -- ^buf255 Strings/Base
- Converts text beginning at addr for len characters to a str255 type
- string at buf255, leaving the addr of buf255. Note that you should use
- the string right away as the next call to str255 will overwrite the
- buffer.
-
- STRING -- : name Strings/String
- A standard class. This class is changed radically from Neon! We now
- keep two offsets into a string - POS and LIM. POS marks the "current"
- position, and LIM the "current" end. Most string operations operate on
- the substring delimited by POS and LIM, which we call the active part
- of the string. We also keep the size of the string (the real size, that
- is) in an ivar, so that we can get it quickly without a system call.
- See also class string+.
-
- STRING+ -- : name Strings/String+
- A standard class, subclass of string. Provides many extensions.
-
- SUPER -- obj OOP/Class
- Use within a class method definition to refer to self, an instance of
- the class, but the superclass method will be invoked.
-
- SUPER( -- : cname1 cname2 } opt OOP/Class
- Synonym for super{.
-
- SUPER{ -- : cname1 cname2 } opt OOP/Class
- Used to declare the superclass(es) when defining a class. See :class.
-
- SUSPEND? -- b Events/Event
- A value. True if we've just received a Suspend event.
-
- SuspendVec -- Events/Event
- A vect. Called for suspend.
-
- SWAP n1 n2 -- n2 n1 Stack/Nuc2.asm
-
- SYS wptr -- Events/Event
- System click handler, a direct call to SystemClick.
-
- SYSINIT -- System/Objinit
- SYSINIT is the startup word, called via the vect objinit, that
- initializes the nucleus objects for the Mops development environment
- above Files.
-
- SYSPAT idx -- obj Quickdraw/QD
- Given a zero-based index, returns the system object syspattn (class
- pattern) which will be set to a resource pattern from the SysPatList.
- Common usage is, e.g.: 4 syspat get: ** will yield a gray pattern
- usable with calls like FillRect. See IM I-474 for the pattern list
- (subtract 1 from the indices shown in IM).
-
- SYSPATTN -- obj Quickdraw/QD
- A system object. Class is pattern.
-
- TAN flt1 -- flt2 FloatingPoint/floating point
- Computes tangent, given radians.
-
- TBOOL b -- tbool Toolbox/Window
- Makes a Mops boolean into a Toolbox boolean. Note that tbool should
- only be used as a setup for a Toolbox call as the stack will be
- mis-aligned until the Toolbox call is done.
-
- TEIDLE -- System/Nuc.asm
- A system vector. Currently does nothing. Is called a lot since it
- is called everytime NextEvent is called.
-
- temprect -- obj System/QD
- A system object of class rect, useable at anytime for whatever you wish.
-
- TFACE n -- QuickDraw/Window
- A direct call to TextFace.
-
- TFONT n -- QuickDraw/Window
- A direct call to TextFont.
-
- THEDLG -- addr Events/Event
- A variable.
-
- THEMOUSE -- obj Events/Event
- The Mops mouse object.
-
- THEN -- ControlStructures/Nuc2.asm
- standard. Use with IF and NIF.
-
- THEPOINT -- addr Events/Event
- A variable.
-
- THEPORT -- grfptr QuickDraw/Nuc2.asm
- Returns a grfptr from the global variable thePort, which always points
- to the current port.
-
- THEWINDOW -- addr Windows/Window
- A variable.
-
- THREAD str-addr -- thread-addr Compiler/Nuc2.asm
-
-
- THROW n -- n | 0 -- Errors/Nuc2.asm
- Standard. If n is zero, drop it and continue. Otherwise exit to the
- current CATCH and pass it n.
-
- THUMB -- 129 Controls/Window
- A constant.
-
- TIB -- addr system/Nuc2.asm
- This value is the address of the terminal input buffer, where
- characters typed at the keyboard are stored.
-
- TMODE n -- QuickDraw/Window
- A direct call to TextMode.
-
- TMPPTN -- obj Quickdraw/QD
- A system object pointer of class pattern.
-
- TRAP$ -- : trap# Toolbox/Base
- Compiles a toolbox trap if the Tools module is not loaded. The new
- syntax is, e.g.trap$ A9FF
-
- TRAV xt parm -- Compiler/Struct
- Traverses the dictionary, passing each xt and the parm to the passed-in
- proc.
-
- TRAV-FROM xt parm addr -- Compiler/Struct
- As for TRAV, but starts from the first word whose lfa is below or at
- the given address.
-
- TRUE -- b Arithmetic/Nuc2.asm
- A constant = -1
-
- TRUNC flt1 -- flt2 FloatingPoint/floating point
- Truncates the fractional portion of the given float. Of course we still
- have a float.
-
- TSIZE n -- QuickDraw/Window
- A direct call to TextSize.
-
- TUCK n1 n2 -- n2 n1 n2 Stack/Nuc2.asm
- Copies top stack item under second item.
-
- TYPCHK n -- Errors/base
- Sometimes we want to check that a non-object parameter to a word is of
- a certain type. We give it a unique type code and use TYPCHK.
-
- TYPE addr len -- Console/Nuc2.asm
- Prints an (addr-len format) string on the screen or printer, by
- executing the system vectors typevec and ptypevec. When Mops starts up,
- typevec is vectored to the primitive (type) that prints a string on the
- screen, and ptypevec is vectored to 2drop. So the default action of
- type is to print a string on the screen only. Type increments value OUT
- by len.
-
- TYPE# -- : lit Errors/base
- Displays given string number (a literal) from the mops.rsrc file.
-
- TYPECNT -- n Compiler/base
- A value. Used by type{.
-
- TYPEVEC addr len -- System/Nuc2.asm
- This is the execution vector for type. When Mops starts up, typevec is
- vectored to (type), the primitive that prints a string on the screen.
-
- TYPE{ -- : name1 name2 etc. Compiler/base
- TYPE{ defines a Pascal-like enumerated type. At this stage we don't
- give a name to the "type" as such, as we can't do anything really
- sensible with it. However later we can optionally load the ENUM-TYPE
- class which is rather more Pascal-like. But even without that, the
- enumeration is useful by itself.
-
- U. n -- Console/Nuc2.asm
- Displays a number as an unsigned number, followed by one space.
-
- U.H n -- Console/Base
- Displays unsigned number in hex. See .H for signed.
-
- U.R u w -- Console/Struct
- Displays the unsigned number u right justified in a field of width w.
- The entire number is displayed, even if its width exceeds w.
-
- U/MOD n1 n2 -- rem n1/n2 Arithmetic/Nuc2.asm
- divides n1 by n2 leaving the remainder under the unsigned quotient.
-
- U< u1 u2 -- b Arithmetic/Nuc2.asm
-
- U> u1 u2 -- b Arithmetic/Nuc2.asm
-
- U>= u1 u2 -- b Arithmetic/Nuc2.asm
-
- UBYTE -- : name OOP/Struct
- The standard unsigned byte class. See also BYTE.
-
- UCFLAG -- b System/Nuc2.asm
- A value.
-
- UINT -- : name OOP/Struct
- The standard unsigned integer class, a subclass of INT.
-
- UNLOK -- System/Nuc2.asm
- Glue routine for various toolbox calls, which is needed by the HANDLE
- and PTR classes. Should not be called directly from anywhere else.
-
- UNLOOP -- ControlStructures/Nuc2.asm
- ANSI standard. Use it if you want to EXIT from within a DO loop - put
- UNLOOP before the EXIT. It removes the loop stuff from the return stack.
-
- UNPACK x:y -- x y Toolbox/Nuc2.asm
- Unpacks a Toolbox point and puts the two integers on the stack. Unpack
- is the opposite of pack.
-
- UNTIL ? -- ControlStructures/Nuc2.asm
- standard. Stop if ? is non-zero.
-
- UNUSED ( -- u ) Core/Nuc2.asm
- u is the amount of space remaining in the region address by HERE, in
- address units.
-
- UPD-EVT -- false Events/Event
- An action word for fevent. Handles update events by sending a late
- bound draw: message to the current window (but only if it is an
- application window).
-
- UPPER addr len -- Strings /Nuc2.asm
- Converts the given text to upper case.
-
- UseFPU? -- b System /Nuc.asm
- The value FPU? is set non-zero by the startup code if an FPU is
- present. If the FPU is present, FP words use it directly without
- calling SANE.
-
- VALUE n -- : name Memory/Nuc2.asm
- General purpose data variable defining word. Can use prefix operators
- to manipulate ( ->, ++>, etc.). Can also late bind to objects stored in
- values.
-
- VAR -- : name OOP/Struct
- The standard variable class. Subclass of longword that adds the +: and
- -: methods. Useful as an ivar that maps into a Toolbox LONGINT record
- structure.
-
- VARIABLE -- : name Memory/Nuc2.asm
- standard Forth defining word. Use @ and ! for accessing. Will leave the
- addr at runtime.
-
- VECT xt -- : name Compiler/Nuc2.asm
- Defines an execution variable that can hold and execute the xt of a
- Mops word. Can use -> at runtime to change.
-
- VOLNAME? obj -- b Files/Files
- Given a string object, returns true if the string could be a volume
- name (i.e. the name contains a ":" and its length is greater than 1.
-
- W -- 16-bit-value : value Toolbox/Base
- Useful for compiling a 16 bit number for toolbox calls. Same as n
- makeint except n must be known at compilation time. More compact than
- using n makeint.
-
- W! w addr -- Memory/Nuc2.asm
- Strores given 16-bit number into word at given address.
-
- W+! w addr -- Memory/Nuc2.asm
- Adds given 16-bit number to word at given address.
-
- W, w -- Compiler/Nuc2.asm
- Compiles 2-byte w into the next available dictionary.
-
- W-! w addr -- Memory/Nuc2.asm
- Subtracts given 16-bit number from word at given address.
-
- W@ addr -- w Memory/Nuc2.asm
- Fetches 16-bit value from given address. Does not sign extend to
- 32-bits.
-
- W@X addr -- w Memory/Nuc2.asm
- Fetches 16-bit value from given address. Sign extends to 32-bits.
-
- WAITCLICK -- Events/Event
- Waits until a mouse click or key event.
-
- warnings? -- b System /Nuc.asm
- A value. If True, enables warnings of name and method redefinition.
- Initially False.
-
- WATCHCURS -- Quickdraw/QD
- Sets the cursor to this.
-
- WDISPL! src dst -- Compiler/Nuc2.asm
- Stores the source address as a short relative address at the
- destination (it is relative to the destination).
-
- WDISPLACE addr -- addr' Compiler/Nuc2.asm
- Similar to displace, but uses the (16-bit) word at addr.
-
- wHASH str255 -- w Compiler/Nuc2.asm
-
- WHERE -- Errors/Nuc2.asm
- A system vector. In many Forth systems. Gives diagnostics on an error.
- Default is (WHERE).
-
- WHILE ? -- ControlStructures/Nuc2.asm
- standard. Continue if ? is non-zero.
-
- WHRFEV -- point Events/Window
- Will become where: fEvent .
-
- WINDOW -- : name Windows/windowmod.txt
- A system class. The basic window class, with no controls.
-
- WINDOWKIND wptr -- w Windows/Event
- Given a window pointer, returns the windowKind data from the window
- record.
-
- WITHIN? n lo hi -- n b Arithmetic/Nuc2.asm
- Returns true if lo <= n <= hi.
-
- WND -- wptr | 0 Events/Event
- Addr of window we're looking at. We need to late-bind to it since the
- window object may be a sub-class.
-
- WNEavail? -- b Events/Nuc2.asm
- A value. Set True by the startup code if the WaitNextEvent trap is
- available in the System being used.
-
- WORD c -- addr Lowstrings/Nuc2.asm
- Parses the source using c as the delimiter (using PARSE-SRC-WORD).
- Moves the resulting string as a counted string to HERE, and returns
- this address.
-
- WORD" -- addr Lowstrings/Nuc2.asm
- Word" takes the "-delimited string from the input stream and stores it
- at HERE, and then returns that address for further processing. Word"
- does not map to uppercase.
-
- WORD0 n -- 16-zero-bits Toolbox/Nuc2.asm
- Pushes 16 zero bits (hex 0000) onto the stack. You can use word0 to
- prepare for a Toolbox function call for the result, if the function
- returns a Toolbox integer.
-
- WORDS -- Compiler/Struct
- Displays all words in the dictionary. Press spacebar to pause.
-
- X-ADDR -- : name OOP/Struct
- X-ADDR is an executable dictionary address class. The only significant
- difference to DicAddr is that there is an Exec: method and no Get:
- method. But if we ever have to separate code and data, having a
- separate class could prove very useful.
-
- X-ARRAY #elems -- : name OOP/Struct
- A standard class. A subclass of ARRAY, can execute its elements (which
- are xts of Mops words).
-
- X-COL #elems -- : name OOP/Struct
- A standard class. X-COL is a collection of executable word addresses. A
- subclass of (col) and x-array.
-
- XOR n1 n2 -- xor Arithmetic/Nuc2.asm
-
- XOR> n -- : word Arithmetic /args
- A prefix operator. Logically xors with n. Use for values, local
- variables, named input parameters. Not for floats.
-
- XT? xt? -- xt? b Compiler/Nuc2.asm
- Checks if xt? could really be an xt (executable token).
-
- XTS{ -- : name1 name2 etc. Compiler/base
- State-smart word to compile or stack a list of xts. Pulls words from
- stream, until "}".
-
- XWID class -- xwid OOPprimitive/Class
- Given a class pointer, retuns the width of the indexed elements.
-
- [ -- Compiler/Nuc2.asm
- So now [ and ] do double duty. If they follow a method selector, they
- cause a late bind as in Neon. In any other context they turn
- compilation on and off.
-
- ['] -- xt : word Compiler/Nuc2.asm
- In Neon, ' (tick) was state-smart, following Fig-Forth. We have now
- followed the Forth-83 and ANSI standards in replacing the state-smart
- tick with the two state-dumb forms ' (which ticks the next word in the
- input stream at run time, no matter what) and ['] which is immediate,
- must be used in a definition, and compiles a literal fetch of the xt of
- the following word.
-
- [CHAR] -- : char Strings/Base
- Compile ascii value of char as a literal. Use only inside a definition.
- ANSII See CHAR and &
-
- [SELF] obj selid -- OOP/Class
- Late binds whatever is on the stack to the given method. e.g. obj get:
- [self] . You must be sure that obj really does point to an object.
- Synonym for **.
-
- [] obj selid -- OOP/Class
- Late binds whatever is on the stack to the given method. e.g. obj get:
- [] . You must be sure that obj really does point to an object. Synonym
- for **.
-
- \ -- Compiler/Nuc2.asm
- Backslash. Will cause compiler to ignore the rest of that line. Useful
- for commenting.
-
- ] -- OOP/Class
- Ends an expression with a late bound message that computes the address
- of the object to recieve the message. e.g. get: [ 0 at: anArray ] .
- This is an alternative syntax to that provided by **, [], and [self].
-
- ], -- ControlStructures/casemod.txt
- Use within a CASE[ statement. Allows an OR condition to be set up
- with the same action. See CASE[
-
- ]=> -- ControlStructures/casemod.txt
- Use within a CASE[ statement.
-
- ]CASE -- ControlStructures/casemod.txt
- Use to end a CASE[ statement. Note that, unlike ENDCASE, we need
- nothing on the stack at this point.
-
- ^BASE -- addr OOP/Nuc2.asm
- Addr is the base address of the private data of the object. Only used
- in a class definition. Same as addr: self.
-
- ^CLASS -- class OOPprimitive/Class
- Addr of the class we're currently compiling.
-
- ^DLEN obj -- dfa OOPprimitive/Class
- Returns the dfa for the given object.
-
- ^ELEM idx -- addr Oop/Nuc2.asm
- Leaves addr of indexed element.
-
- ^ELEM1 -- addr Oop/Nuc2.asm
- As for ^ELEM, but assumes width = 1. Saves multiplying.
-
- ^ELEM2 -- addr Oop/Nuc2.asm
- As for ^ELEM, but assumes width = 2. Saves multiplying.
-
- ^ELEM4 -- addr Oop/Nuc2.asm
- As for ^ELEM, but assumes width = 4. Saves multiplying.
-
- { -- Compiler/args
- Used to begin list of local variables and named input parameters. Note
- that the compiler willfirst search this list, so these names take
- precedence over other names in the dictionary.
-
- } -- Compiler/base
- Right brace. Denotes end of a list, such as a list of local variables,
- xts, etc.
-
- }END -- Controlstructures/Modules
- Used in a select{ construct.
-
- }OR)? xt -- xt b Compiler/base
- Primitive.
-
- }SELECT n -- Controlstructures/Modules
- Used in a select{ construct.
-
-